mirror of
https://github.com/block/buzz.git
synced 2026-11-01 23:11:58 +00:00
Six blocking findings from Thufir pass 1 at 94aa00e4d:
CRITICAL-1 (full-state load): Replace single limit-comparison with
normative fenced enumeration — tag-free mutation fence on the same
connection before the first query, descending bands, pinned-window
C/L discharge (spec §Full-State Load NIP-RS.md:321-377). Completeness
comes from the terminal proof (empty continuation after all bands
discharged), never from requested-limit arithmetic. fetchAndMerge is
now callable repeatedly; a second call can clear isLoadComplete=false.
CRITICAL-2 (live override merge): Route handleIncomingEvent through the
shared ingest() path instead of raw blob.contexts iteration. ingest()
already componentwise-merges (S,C,B) registers via mergeReadStateEventsStructured.
CRITICAL-3 (read-before-write): fetchOwnBlobBeforePublish returns a
boolean; publish() aborts when it returns false. Enforced at the start
of every publish before any canonicalization or coordinate deletion.
IMPORTANT (escaping/grouping): splitContextsIntoBudgetedSlots applies
unescapeFrontierKey before testing group identity so esc:ov_s:evil is
correctly colocated with ov_*:ov_s:evil in the primary slot.
IMPORTANT (budget trial): currentContextsWithOverride already correctly
trials the full contexts snapshot; no change needed to the planner shape
since the committed test was a false assertion — the new test exercises
both adversarial directions correctly.
IMPORTANT (durability): Override registers are now persisted atomically
with frontier state via readStateStorage (new localOverrideRegistersKey
key, readOverrideRegisters/writeStoredReadState extended). hydrateFromLocalStorage
componentwise-merges stored registers before relay work.
Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Buzz
Desktop chat shell with:
- Tauri + React + TypeScript + Vite
- Tailwind CSS
- shadcn/ui-ready shared components
- Biome (lint/format/check)
- Feature-driven frontend structure
Scripts
pnpm dev- run the web frontendpnpm tauri dev- run the desktop apppnpm build- typecheck and build frontendpnpm typecheck- TypeScript checkspnpm lint- Biome lintpnpm format- Biome format (write)pnpm check- Biome check
Structure
src/shared- reusable app-wide code (ui,lib,styles)src/features- feature modules (vertical slices)src/app- top-level app composition