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
docs(discovery-plane): finalize operator guide now that the plane is shipped and live
#7164/#7166/#7167 all closed and the discovery-index server is now deployed
at discovery.loopover.ai (Cloudflare Container + Worker). Rewrites the
operator guide (packages/loopover-miner + the mirrored docs-site mdx) from
"provisional/TBD" to the real, shipped opt-in mechanism:
- Documents the real env vars, including LOOPOVER_MINER_DISCOVERY_SHARED_SECRET
(used for bearer auth against the hosted index), which wasn't in the
original TBD list at all.
- Adds the maintainer-run instance's real URL and a verification step
(dry-run discover) to the opt-in checklist.
- Corrects a real invariant-list drift found while verifying: the doc
claimed telemetry uses HMAC-hashed repo/issue correlation identifiers,
but the shipped recordDiscoveryTelemetry only ever emits a bare
{event, outcome} local log line -- no hosted telemetry collector exists
yet, so there's nothing to hash today.
- Marks server-side soft-claim dedup shipped (was "server-side dedup is
#4250 [open]").
Closes#7169.
Copy file name to clipboardExpand all lines: apps/loopover-ui/content/docs/ams-discovery-plane.mdx
+57-43Lines changed: 57 additions & 43 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,12 +7,11 @@ Operator-facing guide for the **optional** hosted discovery-index plane. This is
7
7
half of that roadmap item: how a `loopover-miner` instance opts in, what it may send, and what
8
8
never leaves the operator's machine.
9
9
10
-
<Calloutvariant="warn"title="Provisional: opt-in wiring env vars are still TBD">
11
-
The request/response **contract shape**, the telemetry event schema, and the client soft-claim
12
-
request builder have now **shipped** as real, tested modules (see below). What remains
13
-
**provisional** is only the operator-facing **opt-in wiring** — the env var names further below
14
-
are still TBD pending the hosted server and the miner-side opt-in. Do not treat those env var
15
-
names as stable API yet.
10
+
<Calloutvariant="info"title="Shipped and live">
11
+
The request/response contract, the client
12
+
(`packages/loopover-miner/lib/discovery-index-client.ts`), and the hosted server
13
+
(`packages/discovery-index`, deployed at `discovery.loopover.ai`) are all real and running. The
14
+
walkthrough below reflects the actual opt-in mechanism, not a plan.
16
15
</Callout>
17
16
18
17
<FeatureRow
@@ -25,7 +24,7 @@ never leaves the operator's machine.
25
24
{
26
25
title: "Telemetry event schema",
27
26
description:
28
-
"Anonymized telemetry event schema for the optional hosted plane. Shipped (packages/loopover-engine/src/miner-telemetry.ts).",
27
+
"Event schema shipped (packages/loopover-engine/src/miner-telemetry.ts). See the Telemetry section below for what's actually wired up today vs. planned.",
29
28
},
30
29
{
31
30
title: "Soft-claim request builder",
@@ -35,7 +34,7 @@ never leaves the operator's machine.
35
34
{
36
35
title: "Hosted server + opt-in wiring",
37
36
description:
38
-
"Still open -- the actual blocker for the opt-in mechanism below; the env var names remain TBD until it lands.",
37
+
"Shipped and deployed at discovery.loopover.ai (packages/discovery-index, Cloudflare Container + Worker). Miner-side opt-in wiring shipped in discovery-index-client.ts.",
39
38
},
40
39
]}
41
40
/>
@@ -64,9 +63,9 @@ defaults**:
64
63
/>
65
64
66
65
<Calloutvariant="warn">
67
-
Do **not** copy Orb's wording for this plane. Orb's header comment is explicit: "Export is
68
-
ALWAYS ON… there is no opt-out flag" aside from `ORB_AIR_GAP`. The discovery plane is the
69
-
opposite: **no hosted traffic unless the operator turns it on.**
66
+
Do **not** copy Orb's wording for this plane. Orb's header comment is explicit: "Export is ALWAYS
67
+
ON… there is no opt-out flag" aside from `ORB_AIR_GAP`. The discovery plane is the opposite: **no
"Default unset / false. Master opt-in. When not truthy (1, true, yes, on), the miner must not call the hosted index or emit discovery-plane telemetry.",
96
+
"Default unset / false. Master opt-in. When not truthy (1, true, yes, on), the miner never calls the hosted index and never emits discovery-plane telemetry.",
"Default unset. Hosted index base URL. Required when the plane is enabled; ignored when opt-in is off.",
101
+
"Default unset. Hosted index base URL -- set to https://discovery.loopover.ai for the maintainer-run instance, or point at your own deployment of packages/discovery-index. Required when the plane is enabled.",
"Default unset / false. Separate opt-in for anonymized operational telemetry. Plane queries can stay on while telemetry stays off.",
106
+
"Default unset. Bearer token sent as Authorization: Bearer <value> on every hosted-index request. The maintainer-run instance at discovery.loopover.ai requires one -- ask the operator running it for a value.",
107
+
},
108
+
{
109
+
title: "LOOPOVER_MINER_DISCOVERY_TELEMETRY",
110
+
description:
111
+
"Default unset / false. Separate opt-in for operational telemetry. Plane queries can stay on while telemetry stays off. Currently local-only -- see Telemetry below.",
112
112
},
113
113
]}
114
114
/>
115
115
116
-
**Truthy-string convention**(when implemented): `/^(1|true|yes|on)$/i`, matching other
117
-
`LOOPOVER_*` flags in this repo.
116
+
**Truthy-string convention:**`/^(1|true|yes|on)$/i`, matching other`LOOPOVER_*` flags in this
117
+
repo.
118
118
119
119
**Operator checklist (enabled plane):**
120
120
121
-
**1.** Set `LOOPOVER_MINER_DISCOVERY_PLANE=true` (exact name may change).
121
+
**1.** Set `LOOPOVER_MINER_DISCOVERY_PLANE=true`.
122
+
123
+
**2.** Set `LOOPOVER_MINER_DISCOVERY_INDEX_URL=https://discovery.loopover.ai` (or your own
124
+
deployment's URL).
122
125
123
-
**2.** Set `LOOPOVER_MINER_DISCOVERY_INDEX_URL` to the operator-trusted index endpoint.
126
+
**3.** Set `LOOPOVER_MINER_DISCOVERY_SHARED_SECRET` if the index you're pointing at requires one.
124
127
125
-
**3.** Optionally set `LOOPOVER_MINER_DISCOVERY_TELEMETRY=true`if you want anonymized
126
-
operational events for the hosted service — not required for index queries.
128
+
**4.** Optionally set `LOOPOVER_MINER_DISCOVERY_TELEMETRY=true`for local operational log lines
129
+
about plane usage — not required for index queries.
127
130
128
-
**4.** Keep `GITHUB_TOKEN` (or equivalent) on the instance only; never configure tokens intended
131
+
**5.** Keep `GITHUB_TOKEN` (or equivalent) on the instance only; never configure tokens intended
129
132
for the hosted plane to receive.
130
133
131
-
With opt-in off (default), behavior is byte-identical to today: local SQLite ledgers, local
132
-
fan-out, no hosted calls.
134
+
**6.** Run `loopover-miner discover <owner/repo> --dry-run --json` and check the response for
135
+
hosted-index candidates alongside your local fan-out to confirm the plane is actually being
136
+
queried.
137
+
138
+
Every call in the client is fail-open: a network error, timeout, or non-2xx response degrades
139
+
silently to "no supplement" rather than failing the miner's own discover/attempt work. With
140
+
opt-in off (default), behavior is byte-identical to today: local SQLite ledgers, local fan-out,
141
+
no hosted calls.
133
142
134
143
## Contrast with local soft-claims today
135
144
@@ -158,17 +167,21 @@ operators:
158
167
telemetry payloads.
159
168
-**No compensation signals in the plane** — raw reward values, wallet addresses, hotkeys, trust
160
169
scores, or private rankings never cross this boundary.
161
-
-**Telemetry is a second opt-in** — even with the plane enabled, anonymized telemetry remains
0 commit comments