Skip to content

docs(spec): record the rate-limit ban async-gap as an accepted residual (#1703 item 3) - #45

Merged
MichaelTaylor3d merged 2 commits into
mainfrom
docs/1703-item3-ban-persistence-note
Jul 29, 2026
Merged

docs(spec): record the rate-limit ban async-gap as an accepted residual (#1703 item 3)#45
MichaelTaylor3d merged 2 commits into
mainfrom
docs/1703-item3-ban-persistence-note

Conversation

@MichaelTaylor3d

Copy link
Copy Markdown
Contributor

Closes dig_ecosystem#1703 (item 3 — the final item; closes the whole ticket).

Task

#1703 item 3 (ban-persistence across the async gap) was resolved by a decide-first as DOCUMENT-AS-ACCEPTED: the rate-limit ban charge→enforce async gap is not an exploitable dodge (a same-peer_id reconnect requires a full SPKI-pinned mTLS handshake in ms — 3+ orders of magnitude larger than the µs spawn→lock gap; the banned table is identity-scoped/durable; the synchronous-record "fix" would introduce a banned-but-still-Live map inconsistency). Record it as a conscious accepted residual, with the synchronous-record option noted for if identity-scoped ban persistence is ever wanted.

Change (doc-only, no behaviour change)

  • docs/resources/SPEC.md — a normative note in the CON-007 / §5.2.1 security-properties area.
  • DEVELOPMENT_LOG.md — a durable entry on why the gap isn't a dodge (the mTLS handshake is the lock).

Bump

0.17.15 → 0.17.16 (patch — docs, no code/API/wire/format change) — already set in the anchor.

WIP — draft anchor; doc edits applied per the #1703 item-3 decider verdict.


Generated by Claude Code

MichaelTaylor3d and others added 2 commits July 29, 2026 03:53
…residual (#1703 item 3)

Salvage anchor for the #1703 item 3 decide-first (DOCUMENT-AS-ACCEPTED):
add a SPEC CON-007 note + DEVELOPMENT_LOG entry recording that the rate-limit
ban charge->enforce async gap is not a dodge (mTLS handshake cost >> the gap).
Doc-only; closes #1703 item 3 and the whole ticket.

Co-Authored-By: Claude <noreply@anthropic.com>
Add normative note in SPEC.md §5.4.1 explaining why the rate-limit ban
recording's charge→enforce async gap is not exploitable (mTLS handshake
latency prevents same-peer_id reconnect inside the microsecond gap).

Also prepend DEVELOPMENT_LOG.md entry clarifying the design rationale:
the async gap is defended by cost asymmetry, not synchronous recording,
to avoid banned-but-still-Live slot inconsistencies on superseding
reconnects.

Co-Authored-By: Claude <noreply@anthropic.com>
@MichaelTaylor3d
MichaelTaylor3d marked this pull request as ready for review July 29, 2026 03:56
@MichaelTaylor3d
MichaelTaylor3d merged commit 800cf03 into main Jul 29, 2026
9 checks passed
@MichaelTaylor3d
MichaelTaylor3d deleted the docs/1703-item3-ban-persistence-note branch July 29, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant