<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>cat/bindws</title>
<subtitle>nostr relays on demand at &lt;name&gt;.bind.ws: claim one with your key, pay in zaps past the free allowance</subtitle>
<id>https://src.rest/cat/bindws/</id>
<link href="https://src.rest/cat/bindws/"/>
<updated>2026-10-17T16:55:27-06:00</updated><entry>
<id>3d57e2d48262f9697cec1036514d606dc0835f50</id>
<title>ci: forge attest runs typecheck and tests on your machine for src.rest</title>
<link href="https://src.rest/cat/bindws/commit/3d57e2d48262f9697cec1036514d606dc0835f50/"/>
<author><name>cat</name></author>
<updated>2026-10-17T16:55:27-06:00</updated>
<content type="text">.forge/ci runs npm ci, npm run typecheck and npm test, the same steps as
the test workflow. forge attest runs it in a clean worktree of each commit
and signs the result into refs/notes/ci; forge push sends it with the branch.</content>
</entry>
<entry>
<id>5d3126716ae5b6bf01d46cdf14fceb05244445e0</id>
<title>fix: keep fuel receipts working during Git transfers</title>
<link href="https://src.rest/cat/bindws/commit/5d3126716ae5b6bf01d46cdf14fceb05244445e0/"/>
<author><name>Dami</name></author>
<updated>2026-09-05T12:30:16-06:00</updated>
<content type="text">Retain Git operation authority while validated provider receipts are credited, preserving teardown fences and owned nested operations. Vendor ntig 0.6.1 for libgit2 sideband push reports and bounded gzip fetch negotiation. Include complete source provenance and regression coverage.</content>
</entry>
<entry>
<id>7793438373191af8e6c9972a1f4bf51cbcc885a2</id>
<title>fix: keep nested connection details open</title>
<link href="https://src.rest/cat/bindws/commit/7793438373191af8e6c9972a1f4bf51cbcc885a2/"/>
<author><name>Dami</name></author>
<updated>2026-09-05T12:09:07-06:00</updated>
<content type="text">Limit the exclusive-fold fallback to direct children of the folds container, leaving nested disclosures independent. Regenerate the console bundle.

Validated the full typecheck and generated console checks.</content>
</entry>
<entry>
<id>8d7ccca92c6831da10373d2b9b26a75200649a85</id>
<title>fix: accept whole numbers in Git capacity fields</title>
<link href="https://src.rest/cat/bindws/commit/8d7ccca92c6831da10373d2b9b26a75200649a85/"/>
<author><name>Dami</name></author>
<updated>2026-09-05T12:05:58-06:00</updated>
<content type="text">Align the minimum with the existing 0.001 step in every MiB and GiB capacity input, including advanced limits. Regenerate the console bundle.

Validated the full typecheck, generated assets, and step alignment for all affected fields.</content>
</entry>
<entry>
<id>2e6533113689ff75f77fbaa53b00d150d0ded92d</id>
<title>feat: add configurable connection shortcuts (#27)</title>
<link href="https://src.rest/cat/bindws/commit/2e6533113689ff75f77fbaa53b00d150d0ded92d/"/>
<author><name>FelineStateMachine</name></author>
<updated>2026-09-05T11:43:23-06:00</updated>
<content type="text">Add owner-configured app shortcuts to the Connect fold, backed by a connection template library with placeholders, visibility controls, QR codes, and preset support.

Compact the console layout, validate repository names before generating clone commands, and clarify that shortcut visibility does not make stored media private.

Validation: PR CI passed, with the full typecheck and 30 focused connection tests also passing locally during review.</content>
</entry>
<entry>
<id>6c2cfc06155b274058a386cfd63ce41867f73942</id>
<title>feat: configure Git capacity and stream SQLite repository downloads</title>
<link href="https://src.rest/cat/bindws/commit/6c2cfc06155b274058a386cfd63ce41867f73942/"/>
<author><name>Dami</name></author>
<updated>2026-09-05T10:35:39-06:00</updated>
<content type="text">Expose owner-managed policy.git limits in the console, configuration schema and NIP-11, with larger repository and relay defaults.

Separate retained storage quotas from per-write limits, stream indexed Git reads under the repository fence, and support portable backups that omit Git payloads. Vendor ntig 0.6.0 with complete source provenance and add a recoverable real-Git capacity exercise.

Validation: 320 tests and typecheck passed. Local and production checks rejected the restrictive policy, accepted 57 MiB through incremental pushes including a 37 MiB object, verified clone and bundle integrity, and removed the test relay.</content>
</entry>
<entry>
<id>0795bb520ce4e9636a815dd16f1c1fc304c79622</id>
<title>docs: the network exercise has a finite lifecycle, explicit external coverage and recoverable teardown</title>
<link href="https://src.rest/cat/bindws/commit/0795bb520ce4e9636a815dd16f1c1fc304c79622/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T20:12:59-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>3f4dacf2da56d04bb2ec918e0eeea982367b038e</id>
<title>scripts: a manual production network exercise checks relay relationships, records usage and recovers cleanup from a private manifest</title>
<link href="https://src.rest/cat/bindws/commit/3f4dacf2da56d04bb2ec918e0eeea982367b038e/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T20:12:59-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>557b36f00744ef2351ff963090d5f7e5711df770</id>
<title>docs: repositories share the SQLite allowance and portable backups preserve Git history</title>
<link href="https://src.rest/cat/bindws/commit/557b36f00744ef2351ff963090d5f7e5711df770/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:46:24-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>c33701a0162394c53061d136fdf22ac2c39295eb</id>
<title>backups: compressed Git snapshots verify identities, graphs and receipts before atomic restore</title>
<link href="https://src.rest/cat/bindws/commit/c33701a0162394c53061d136fdf22ac2c39295eb/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:45:42-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>5d1179c2a5dbdc3784e9dfb02173c0bd4ba79601</id>
<title>grasp: repositories and selective fetches use SQLite with atomic event visibility</title>
<link href="https://src.rest/cat/bindws/commit/5d1179c2a5dbdc3784e9dfb02173c0bd4ba79601/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:45:35-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>5754a9ca78f02fb3f20e4a69f8016598eb2c79d9</id>
<title>git: compressed objects, refs and retry receipts publish in one metered SQLite transaction</title>
<link href="https://src.rest/cat/bindws/commit/5754a9ca78f02fb3f20e4a69f8016598eb2c79d9/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:45:22-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>621dbc9df32b2e23e64326e500a749160ea8f862</id>
<title>git: ntig exposes bounded indexed object reads and lazy thin-pack bases</title>
<link href="https://src.rest/cat/bindws/commit/621dbc9df32b2e23e64326e500a749160ea8f862/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:45:14-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>ad32f9843594c08f72376a02dc66b6f7bd77eb49</id>
<title>test: delivery drives contended alarms until the target receives the event</title>
<link href="https://src.rest/cat/bindws/commit/ad32f9843594c08f72376a02dc66b6f7bd77eb49/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:25:13-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>f919153bb9862cc760b7a86e503a316168b27c55</id>
<title>docs: GRASP synchronization and alternative PR hosting describe bounded behavior</title>
<link href="https://src.rest/cat/bindws/commit/f919153bb9862cc760b7a86e503a316168b27c55/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:23:42-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>dbc664c37157583038672ace3cf09e825b88f08a</id>
<title>test: GRASP extensions preserve authority, expiry and bounded retries</title>
<link href="https://src.rest/cat/bindws/commit/dbc664c37157583038672ace3cf09e825b88f08a/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:23:38-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>ecec699f1907bd9d740ddff9274ea5122c66b81e</id>
<title>grasp: bounded synchronization and alternative PR storage share relay authority</title>
<link href="https://src.rest/cat/bindws/commit/ecec699f1907bd9d740ddff9274ea5122c66b81e/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:23:33-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>5b700554ad2974a2c04e860b19c60aecb781b35a</id>
<title>vendor: ntig 0.4.0 carries bounded GRASP extension contracts</title>
<link href="https://src.rest/cat/bindws/commit/5b700554ad2974a2c04e860b19c60aecb781b35a/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T19:23:29-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>879847d2aa07585eba840f5ebe645064cd54fc31</id>
<title>recovery: private lists, reliable delivery, broader imports and portable backups (#25)</title>
<link href="https://src.rest/cat/bindws/commit/879847d2aa07585eba840f5ebe645064cd54fc31/"/>
<author><name>FelineStateMachine</name></author>
<updated>2026-09-04T19:06:19-06:00</updated>
<content type="text">* pull: history imports resume ordinary queries when sync is unavailable and report coverage per source

Bounds query windows and response buffers, retains partial and refused source results, and continues later sources after failed retries. Tests cover fallback, persistence, timestamp saturation and invalid responses.

* lists: retain bounded private versions so owners can restore follows relay lists and bookmarks

* lists: show restore diffs, supersede future versions, and bound history storage

* console: list recovery identifies named bookmarks and shares the data guide

Keeps recovery guidance in the existing user and management references, including signer-only access and retained version limits.

* feat: add opt-in NIP-65 delivery

* fix: make relay delivery progress durable per target

* fix: retain failed relay delivery progress

* lists: expire saved versions and support colon address deletion

* test: cover owner-wide list history privacy and deletion

* delivery: automatic sends respect current visibility and expose target results

Runs delivery under relay admission, bounds socket waits and errors, accounts for query usage, and excludes expired or banned events and members-only content.

* test: cover rebroadcast refusal cursor safety

* backups: portable state, site and Git archives restore only onto a fresh relay

* recovery: portable backups preserve private state and restore through authenticated fresh-target previews

Includes bounded archives, atomic restore metadata, source-owner authorization, retained list and visibility state, billed archive storage, and usable backup controls. Integration tests cover HTTP restore, upload caps, import fallback, owner isolation and independent target retries.

* test: checkpoint migration allows hosted CI time for 260 sequential commits

Scopes a 90-second timeout to the migration fixtures after the growing-ref case completed in about 41 seconds on CI against a 30-second deadline. Keeps the workload and assertions intact.</content>
</entry>
<entry>
<id>622e04b8f34e4f7326d9678904142dbd045e17e2</id>
<title>test: push payload assertions accept either callback order (#24)</title>
<link href="https://src.rest/cat/bindws/commit/622e04b8f34e4f7326d9678904142dbd045e17e2/"/>
<author><name>FelineStateMachine</name></author>
<updated>2026-09-04T18:04:31-06:00</updated>
<content type="text">Both registration timestamp orders exercise exact full-event and ID-only payload matching while preserving delivery counts and callback identity.</content>
</entry>
<entry>
<id>7dc805d39d887ded44edc22d083ef642ae179a64</id>
<title>push: bounded author-private callbacks run through alarms with opt-in lettered capability advertisements (#23)</title>
<link href="https://src.rest/cat/bindws/commit/7dc805d39d887ded44edc22d083ef642ae179a64/"/>
<author><name>FelineStateMachine</name></author>
<updated>2026-09-04T17:55:45-06:00</updated>
<content type="text">Registrations require member authentication and host-approved HTTPS origins. Delivery persists finite retries, rechecks current access, meters work and isolates callback latency from publication. Numeric NIP identifiers remain unchanged; lettered advertisements document client compatibility limits.</content>
</entry>
<entry>
<id>6d98cb7a360e46460718a8fe2ffdae72db0fe959</id>
<title>invites: NIP-86 membership claims share existing invitations (#21)</title>
<link href="https://src.rest/cat/bindws/commit/6d98cb7a360e46460718a8fe2ffdae72db0fe959/"/>
<author><name>FelineStateMachine</name></author>
<updated>2026-09-04T17:53:17-06:00</updated>
<content type="text">Standard listclaims, createclaim and deleteclaim reuse the invite store,
member permissions, quotas, expiry and audit. Existing ownership and invite
APIs retain their behavior. Pinned proposal documentation and integration
tests cover management, visibility and joining through every admission path.</content>
</entry>
<entry>
<id>03f39d463314656de34e898bda89e36157b41ed1</id>
<title>nipad: web URLs resolve to live Nostr counterparts under existing access rules (#22)</title>
<link href="https://src.rest/cat/bindws/commit/03f39d463314656de34e898bda89e36157b41ed1/"/>
<author><name>FelineStateMachine</name></author>
<updated>2026-09-04T17:52:18-06:00</updated>
<content type="text">Path discovery maps relay groups, public event pages and hosted site manifests to exact filters with explicit relay hints. Shared resolvers preserve browser path matching, NIP-05 behavior and site isolation; docs pin the upstream proposal and tests cover access and routing boundaries.</content>
</entry>
<entry>
<id>edb792b450c28a2c30c022aaf9066f0d9f8739bd</id>
<title>nip11: Git acceptance describes eligible authors and guest exceptions so clients can classify hosting</title>
<link href="https://src.rest/cat/bindws/commit/edb792b450c28a2c30c022aaf9066f0d9f8739bd/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T17:27:00-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>dbf2b597c6a3ecc6e160509932593630b3e3ab85</id>
<title>console: GitWorkshop opens this relay&#39;s repositories directly from Connect</title>
<link href="https://src.rest/cat/bindws/commit/dbf2b597c6a3ecc6e160509932593630b3e3ab85/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T17:24:19-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>2cce7940ab78663ff3a7f28c12ca91909de1a303</id>
<title>docs: cost guidance centers tenant application budgets and storage decisions</title>
<link href="https://src.rest/cat/bindws/commit/2cce7940ab78663ff3a7f28c12ca91909de1a303/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T17:19:57-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>379866f9ad888214a3aa1568f9face9c9347230d</id>
<title>console: git connections include GitWorkshop only while hosting is available</title>
<link href="https://src.rest/cat/bindws/commit/379866f9ad888214a3aa1568f9face9c9347230d/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T17:13:03-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>cb03d34aaf7d93602fcb0a3e5f012ae8ef55615d</id>
<title>test: interrupted Git promotion and its retry share one fixture owner</title>
<link href="https://src.rest/cat/bindws/commit/cb03d34aaf7d93602fcb0a3e5f012ae8ef55615d/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T17:12:40-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>6a6abf5c169ac9567fc5126f4227259ff98e52fb</id>
<title>manage: authenticated requests acquire authority after their bodies arrive</title>
<link href="https://src.rest/cat/bindws/commit/6a6abf5c169ac9567fc5126f4227259ff98e52fb/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T17:12:33-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>5272f96ddf6f505fd91f1c8f27418c179afc5b60</id>
<title>docs: repository inventory explains retained bytes, scan costs and live admission without promising collection</title>
<link href="https://src.rest/cat/bindws/commit/5272f96ddf6f505fd91f1c8f27418c179afc5b60/"/>
<author><name>Dami</name></author>
<updated>2026-09-04T17:07:38-06:00</updated>
<content type="text"></content>
</entry>
</feed>
