vibedate 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -17,10 +17,12 @@ Part of the **Vibe Suite** — companion tools for agentic coding CLIs. Ships as
17
17
 
18
18
  ## Status
19
19
 
20
- **v0 — works locally, privacy-first.** Verification via read-only OAuth
21
- (`verified: true`) is the deliberate next step; the seam exists
22
- ([`tryReadVerifiedUsage`](src/index.ts)). For now usage is **self-reported**
23
- (`verified: false`), read locally or supplied by you.
20
+ **v0 — works locally, privacy-first.** Usage is **verified from your harness's
21
+ real local logs** via vibe-core's `readHarnessUsage` (source `real`
22
+ `verified: true`); when no logs are readable you can self-report
23
+ (`VIBEDATING_TOKENS`, unverified) or fall back to a demo value (unverified).
24
+ Handles are bound to a persistent ed25519 identity (`~/.vibedating/identity.json`,
25
+ mode 0600): every hello is signed, and a forged signature gets the peer dropped.
24
26
 
25
27
  ## Install
26
28
 
@@ -44,7 +46,7 @@ vibedating connect
44
46
  vibedating matches
45
47
 
46
48
  # 3. (Opt-in) find live same-league peers over the DHT — no server
47
- vibedating discover --live # shares ONLY handle + league + harness
49
+ vibedating discover --live # shares ONLY handle+league+harness+verified flag+identity pubkey
48
50
 
49
51
  # 4. Open the local web app in your browser (served from your machine)
50
52
  vibedating open
@@ -73,8 +75,10 @@ vibedating --help
73
75
  `vibedating discover --live` joins the public [hyperswarm](https://github.com/holepunchto/hyperswarm)
74
76
  DHT on your league topic — `sha256('vibedate:' + leagueBucket)` — so same-league
75
77
  peers find each other with **no central server**. On each encrypted connection
76
- the two sides exchange a one-line hello with exactly
77
- `{ handle, league, harness }`; raw usage is never put on the wire. Discovered
78
+ the two sides exchange a one-line hello with only
79
+ `{ handle, league, harness, verified, pubkey, nonce, sig }` the proof fields
80
+ sign the hello with your persistent ed25519 identity so a handle can't be
81
+ impersonated; raw usage is never put on the wire. Discovered
78
82
  peers are stored in `~/.vibedating/peers.json` and shown by `vibedating matches`.
79
83
 
80
84
  Live discovery is **off by default**. The `--live` flag is the explicit opt-in
@@ -108,9 +112,11 @@ const who = matches(lg.name, CANDIDATES); // same/adjacent-tier candidat
108
112
  `~/.vibedating/state.json`, and shown in the web app only behind an opt-in
109
113
  toggle. It is never transmitted.
110
114
  - **Only the league bucket is shared** — with the local demo pool, and (only if
111
- you opt in with `--live`) as `{ handle, league, harness }` with same-league
112
- peers over the hyperswarm DHT. The handshake parser whitelists those three
113
- fields, so a peer can't even be *sent* anything else into your process.
115
+ you opt in with `--live`) as `{ handle, league, harness, verified, pubkey,
116
+ nonce, sig }` with same-league peers over the hyperswarm DHT. The handshake
117
+ parser whitelists those fields, so a peer can't even be *sent* anything else
118
+ into your process; the `verified` flag and identity pubkey are the only
119
+ additions, never a token count.
114
120
  - Consent for sharing the league is modeled with `@pooriaarab/vibe-core`'s consent
115
121
  ledger (scope `share:league`), granted on `connect` and revocable on reset.
116
122
  Live P2P discovery has its own scope (`share:live`), default **off**.