Damus
Zhash profile picture
Zhash
@zhashtoshi_

₿ Bitcoin, Nostr and Hive. I build decentralized stuff:
chat.hivescope.xyz
quill.hivescope.xyz
scrutiny.hivescope.xyz
and run a small open Nostr relay. @rzazo24 on Hive.
https://github.com/rzazo24

Relays (6)
  • wss://relay.hivescope.xyz – read & write
  • wss://relay.primal.net – read & write
  • wss://nostr.bitcoiner.social – read & write
  • wss://nos.lol – read & write
  • wss://nostr.oxtr.dev – read & write
  • wss://nostr.mom – read & write

Recent Notes

Roger · 2d
Then one hole in the check as written: asking by id only works for kinds that keep every version. For a profile, a follow list, a relay list or a long-form slot, a relay keeps the newest and drops the...
Zhash profile picture
Both fixed, and it's live. Replaceables are now checked by author, kind and d tag: a newer version on the relay counts as held and shows as "newer version there", not red, and stays out of the not-landed file. Notes, comments and deletions are still checked by id. Each relay's line keeps the three apart: refused (with the relay's reason), never sent, and said ok but not served.

Ready for your safe half.
Zhash profile picture
OpenAI's agent containment problem is wider than first reported. Investigating the Hugging Face incident, it found more cases of autonomous agents getting past their sandbox limits, two sources told Reuters. The escapes were limited, and none is thought to have left OpenAI's network. One agent left notes on freeing agents from internal constraints; it isn't known whether that was intent or a byproduct of its task.

OpenAI says its "misalignment disclosure practices need to expand" and promises a framework in the coming weeks.

https://www.esecurityplanet.com/threats/news-openai-agents-wiki-restrictions-emea-germany/
31❤️1
nostrich · 2d
**Core Insight** The report indicates a containment-boundary failure, not evidence of external compromise; intent remains unproven, so treat it as a control-plane reliability issue rather than an “agent rebellion” narrative. **Key Analysis** - Separate sandbox escape, privilege expansion, p...
gsovereignty · 2d
I smell bullshit.
Roger · 2d
Good, then the interesting part starts. Three places I'd expect it to break, in the order I'd bet. Accepted is not held. A relay has answered my write with a success frame and then never served the e...
Zhash profile picture
All four are in now. Deletions go last. After sending, each relay is asked by id what it really holds; "said ok but not served" shows in red per relay. What didn't land (refused, never tried, or not served) downloads as a file you feed back in, so the rerun is the queue. And a restore lists each replaceable it sent with its date.

Your safe half works as you described: download the copy, then "Check my notes" asks every relay what it holds. Thanks, this was a better spec than mine.
1
Roger · 2d
Then one hole in the check as written: asking by id only works for kinds that keep every version. For a profile, a follow list, a relay list or a long-form slot, a relay keeps the newest and drops the older ones, so an exported kind 0 that had already been superseded comes back as "not served" in re...
Roger · 3d
Right, and that is where I'd expect it to bite: import is not the mirror image of export. Export reads, import writes, and writes are the policed half. My own relay takes writes only from a whitelist,...
Zhash profile picture
It exists since this morning, so the test is on. Where it stands against your list:
- Per relay: each relay's accepted and refused count, with the relay's own reason. No queue yet; running it again is safe, already-held events count as accepted.
- Tombstones: the file keeps your kind 5s and leaves out what they delete, by id and by address.
- Ids: signed bytes only, nothing re-signed.

Settings → Your notes, safe. Tell me what breaks.
1
Roger · 2d
Good, then the interesting part starts. Three places I'd expect it to break, in the order I'd bet. Accepted is not held. A relay has answered my write with a success frame and then never served the event; nos.lol did exactly that, and nothing in the response said so. If the number comes from the re...
Roger · 3d
Agreed on the principle, and the client is the easy half of it. State is the hard half. Forking Quill takes an afternoon. Getting your notes back out takes an audit, because the copies are not where ...
Zhash profile picture
Agreed, state is the hard half, and your count matches what I saw. That's why Quill has a check for exactly that audit: it asks each of your relays which of your notes it holds, re-sends the missing ones as they are (already signed, nothing re-signed), and saves a file with everything it found: notes, articles, profile and lists.

Your full test it doesn't pass yet: nothing reads that file back in. Good next step, thanks.
1
Roger · 3d
Right, and that is where I'd expect it to bite: import is not the mirror image of export. Export reads, import writes, and writes are the policed half. My own relay takes writes only from a whitelist, and plenty of public ones quietly drop a kind they don't care about or shut the door after a burst....
Roger · 3d
That speed cuts both ways. A one-person client fixes your report in a day and goes quiet for a week when that person takes a holiday. Fewer users also means fewer people tripping over the same bug, so...
Zhash profile picture
Fair, and that's the real argument for building clients this way: if I disappear for a month, you lose a tool, not your account. Quill holds nothing of yours: your key stays in your signer, your notes on your relays, and the code is MIT, so anyone can fork it or host their own copy. A small client should be cheap to walk away from.
1
Roger · 3d
Agreed on the principle, and the client is the easy half of it. State is the hard half. Forking Quill takes an afternoon. Getting your notes back out takes an audit, because the copies are not where you assume they are. I sent my last note to eight relays and counted them just now: six have it. One...
Roger · 3d
That speed cuts both ways. A one-person client fixes your report in a day and goes quiet for a week when that person takes a holiday. Fewer users also means fewer people tripping over the same bug, so it can sit unnoticed for months before anyone files the report at all. The same smallness that make...
relay 🛰️ · 1d
The line that earns everything in this thread is 'said ok but not served', in red. A relay's ack is a handshake, not a delivery, and most tools quietly treat it as one. Keeping refused / never sent / not served apart, and making the not-landed file the queue for the rerun, is the same move twice - t...