You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@
23
23
24
24
Hypercluster is a [Base Intelligence](https://github.com/BaseIntelligence/base) challenge service. Miners can **supply** GPU/CPU capacity (register nodes, list offers, host pods) and **demand** Modal-like multi-node jobs (browse offers, rent, submit work). The challenge owns marketplace lifecycle, topology-aware InfiniBand/NCCL planning (local simulator in default CI), optional dstack TEE offline verification, optional **non-TEE SSH GPU host probe** (FakeSsh in default CI), and a four-factor scoring engine that emits **raw hotkey weights** to Base master.
25
25
26
-
Hypercluster scores marketplace honesty and execution quality. It is **not** a commercial cloud broker and **does not ship** a Verda (or other cloud) product adapter. You do **not** need a commercial GPU broker account to mine. Self-owned SSH fleets and inventory registered through the home-grown APIs are the product path. Multi-node fabric validation defaults to a deterministic local simulator; GPU probe gates use FakeSsh offline; live single-GPU rent + RealSSH probe are optional maintainer tooling under `scripts/qa/` outside the product package tree. Challenge never calls `set_weights`; formula stays `correctness × efficiency × fabric_gate × tee_bonus`.
26
+
Hypercluster scores marketplace honesty and execution quality. Miners bring self-owned SSH fleets or other inventory and register it through the home-grown marketplace APIs. Capacity obtained out-of-band (including commercial rentals) can feed those same APIs; commercial cloud clients stay ops tooling and are not required to mine. Multi-node fabric validation defaults to a deterministic local simulator; GPU probe gates use FakeSsh offline; live single-GPU rent + RealSSH probe are optional maintainer helpers under `scripts/qa/`. Challenge never calls `set_weights`; formula stays `correctness × efficiency × fabric_gate × tee_bonus`.
27
27
28
28
Trust model: **cryptographically-anchored trust-but-audit**. Signed miner/provider writes, digest-pinned jobs, fabric gates, optional TEE multipliers, integrity zeros on spoof paths. Multi-node InfiniBand is not an encrypted confidentiality fabric under GPU CC/TDX; TEE bolsters collocated honest compute, not wire secrecy across ranks.
29
29
@@ -119,13 +119,13 @@ Copy `.env.example` for `CHALLENGE_*` / `HYPER_*` knobs. Never commit tokens.
119
119
120
120
## Validation quick reference
121
121
122
-
Default gates are local only (unit, integration, sim). They never auto-load commercial cloud credentials. GitHub Actions runs the same quality bar (lint, format, mypy, no-verda fence, pytest with coverage, Docker build/publish) on every push; see [`.github/workflows/ci.yml`](.github/workflows/ci.yml).
122
+
Default gates are local only (unit, integration, sim). Gated tests do not require cloud credentials. GitHub Actions runs the same quality bar (lint, format, mypy, import-boundary audit, pytest with coverage, Docker build/publish) on every push; see [`.github/workflows/ci.yml`](.github/workflows/ci.yml).
123
123
124
124
```bash
125
125
uv run ruff check .
126
126
uv run ruff format --check .
127
127
uv run mypy
128
-
uv run python scripts/check_no_verda.py
128
+
uv run python scripts/check_no_verda.py# import-boundary / dep audit
129
129
uv run pytest -q -m "not live_verda and not integration" --cov=hypercluster --cov-fail-under=70
130
130
uv run hypercluster sim doctor --offline
131
131
uv run hypercluster sim run-scenario --name smoke --url http://127.0.0.1:3200
Copy file name to clipboardExpand all lines: docs/live-qa.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
**Default CI and `pytest`:** never run live commercial rentals; never auto-load broker credentials. GPU probe gates in CI use **FakeSsh only**.
5
5
**Miners:** you do **not** need a commercial GPU broker account. Self-owned inventory through the home-grown marketplace is enough.
6
6
7
-
This protocol proves that Hypercluster's **product marketplace APIs** still accept a real single-GPU host when an operator provides capacity obtained out-of-band, and (optionally) that a **RealSSH GPU probe** yields `host_probe.json` / product evidence. It is **not** multi-node InfiniBand validation (that remains local sim). It does **not**authorize a product Verda adapter, does **not**call `set_weights`, and does **not** change the four-factor scoring formula.
7
+
This protocol proves that Hyperclustermarketplace APIsaccept a real single-GPU host when an operator provides capacity obtained out-of-band, and (optionally) that a **RealSSH GPU probe** yields `host_probe.json` / product evidence. It is **not** multi-node InfiniBand validation (that remains local sim). It does **not** call `set_weights` and does **not** change the four-factor scoring formula.
8
8
9
9
## Hard boundaries
10
10
11
11
| Rule | Policy |
12
12
| --- | --- |
13
-
| Product package |No Verda/SDK/OAuth client; no `api.verda.com` adapter in `src/hypercluster`|
13
+
| Product package |Commercial request clients are not part of the `src/hypercluster` package|
14
14
| Gated tests | Local unit/integration/sim + **FakeSsh GPU probe** only |
15
15
| Shape |**One** small **single-GPU** instance |
16
16
| Concurrency | Serial only |
@@ -23,7 +23,7 @@ This protocol proves that Hypercluster's **product marketplace APIs** still acce
23
23
24
24
## Tooling layout
25
25
26
-
External-only helpers live under `scripts/qa/` (outside the product adapter surface:
26
+
Optional maintainer rent tooling under `scripts/qa/`:
27
27
28
28
| Module | Role |
29
29
| --- | --- |
@@ -38,7 +38,7 @@ Default hard caps in the smoke runner are intentionally tight (rate and total bu
38
38
## Operator sequence
39
39
40
40
1.**Start challenge API without commercial-cloud credentials in process env.**
41
-
Challenge must remain free of `VERDA_*` so product isolation audits hold.
41
+
Do not put commercial credentials in the challenge process environment.
42
42
2.**In a separate ops shell**, load external credentials from an **out-of-tree** file owned by the operator (mode-restricted). Do not write those values into the repo, docker-compose, or challenge settings.
43
43
3.**Run catalog availability at order time** (prices and stock drift). Prefer cheapest available single GPU that still can complete a short smoke.
44
44
4.**Deploy one instance only** via ops tooling (not product package imports used for production APIs).
@@ -51,14 +51,14 @@ Default hard caps in the smoke runner are intentionally tight (rate and total bu
51
51
Example command shape (placeholders; adjust paths for your environment):
Copy file name to clipboardExpand all lines: docs/marketplace.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Marketplace
2
2
3
-
Hypercluster implements a **home-grown**, Lium-shaped marketplace entirely inside the challenge. Product code does not call commercial broker APIs. Capacity is whatever providers register (self fleets, lab clusters, or capacity a provider obtained out-of-band).
3
+
Hypercluster implements a **home-grown**, Lium-shaped marketplace entirely inside the challenge. Capacity is whatever providers register (self fleets, lab clusters, or capacity a provider obtained out-of-band). Commercial broker clients, if any, stay outside the product path.
See `.env.example` for `CHALLENGE_*` and `HYPER_*` knobs. Prefer secret files for tokens. Never place commercial broker credentials in the challenge process environment for product isolation guarantees.
51
+
See `.env.example` for `CHALLENGE_*` and `HYPER_*` knobs. Prefer secret files for tokens. Do not place third-party broker credentials in the challenge process env.
Copy file name to clipboardExpand all lines: docs/provider/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Provider guide (supply)
2
2
3
-
Providers advertise compute capacity into Hypercluster’s home-grown marketplace. Capacity can be self-owned SSH fleets, lab clusters, or hardware obtained outside the product (commercial rentals remain **ops-owned**, never a product SDK dependency).
3
+
Providers advertise compute capacity into Hypercluster’s home-grown marketplace. Capacity may be self-owned or obtained ops-side; miners only need the marketplace APIs (self fleets, lab clusters, or inventory offered by a provider hotkey).
Copy file name to clipboardExpand all lines: docs/security.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ Incomplete or invalid signatures are rejected. CLI helpers must not print tokens
23
23
| Product knobs |`HYPER_*`| Separate from Base `CHALLENGE_*` prefix |
24
24
| Provider SSH material | Operator-managed outside public payloads | Do not store plaintext secrets in git; GPU probe persists **fingerprint / key_ref only** (never PEM in SQLite or evidence JSON) |
25
25
| GPU probe FakeSsh | Tests / explicit allow only | Production must not silently fake silicon (`HYPER_SSH_TRANSPORT=real` default path fails closed without keys) |
26
-
| Commercial cloud QA secrets | Outside product process and outside default pytest | Never required for miners; never product Verda adapter|
26
+
| Commercial cloud QA secrets | Outside product process and outside default pytest | Never required for miners; not injected into challenge process env by default|
27
27
28
28
Product documentation and `.env.example` use placeholders only.
29
29
@@ -32,7 +32,7 @@ Product documentation and `.env.example` use placeholders only.
32
32
- Challenge SQLite on `/data` is the only durable store for marketplace/jobs/scores.
33
33
- Challenge never writes Base master Postgres and never executes validator `set_weights`.
34
34
- Raw weights are finite non-negative floats; NaN/Inf/negative weights are invalid.
35
-
- Outbound product policy denies commercial Verda control-plane hosts; optional maintainer tooling under `scripts/qa/` runs **outside** the challenge package import graph for product audits.
35
+
- Outbound product policy restricts commercial control-plane hosts used by optional QA helpers; maintainer tooling under `scripts/qa/` runs outside the challenge package import graph.
36
36
37
37
## Integrity and scoring
38
38
@@ -55,7 +55,7 @@ Self-deal and spam soft penalties can damp aggregated hotkey mass without invent
55
55
| No PEM storage | SQLite and public evidence expose at most key fingerprint / ref kind+name |
56
56
| Redaction | Evidence stores redacted short raw; secrets scrubbed from messages |
57
57
| FakeSsh boundary | Default gated CI uses FakeSsh fixtures; production refuses silent fake |
58
-
| Live cloud ops | External `scripts/qa/*` only; product package remains free of Verda SDK/OAuth |
58
+
| Live cloud ops | External `scripts/qa/*` only; product package has no embedded commercial broker SDK/OAuth client|
59
59
60
60
See [GPU probe](gpu-probe.md) for the ordered fatal/advisory table.
0 commit comments