Files
modules/storage-autobase/hyper-p2p-autobase-view-sync/docs/architecture.md
T
Raven ScottandCursor a11e22badc Add storage stack modules and track them in git
The modules workspace previously ignored every path matching `storage-*`,
which kept all Hypercore, Hyperbee, Hyperdrive, and Autobase packages out
of version control. Narrow .gitignore to test-artifact patterns only so
production category trees are committed.

Storage packages (23 total):
- storage-hypercore (7): replicator, seed-policy, fork-picker, merkle-sync,
  priority-fetch, bitfield-scheduler, audit-chain
- storage-hyperbee (5): batch-write, diff-follow, range-watch,
  secondary-index, tombstone-gc
- storage-hyperdrive (6): entry-catalog, gc-sweep, mirror-sync, mount-bridge,
  version-snapshot, watch-notify
- storage-autobase (5): fork-choice, view-sync, writer-lease, indexer-bus,
  light-writer

Implementation highlights:
- Shared attach/gossip helpers in _shared/storage-gossip-base.js
- P2P modules use Protomux gossip via p2p-bare; local planners omit swarm
- Recent deepen pass: priority queues, batch caps, audit export/import,
  watch/notify aliases on range-watch, fork/view lease helpers, etc.
- Per-package README, docs/api.md, docs/architecture.md, tests, examples

Also update modules/README.md doc hub links for the full storage stack
(hypercore, hyperbee, hyperdrive, autobase).

Co-authored-by: Cursor <[email protected]>
2026-05-21 00:17:51 -04:00

22 lines
487 B
Markdown

# Architecture: hyper-p2p-autobase-view-sync
**Protocol:** `autobase-view-sync/v1` · **P2P:** yes
## Wire
| type | fields |
|------|--------|
| `view-sync` | `{ view: { version, hash, at } }` |
`hash` = `sha256("view:"+version)` (coordination digest, not Autobase proof).
## Helpers
- `isAtLeast(version)` — local caught up?
- `behindBy(version)` — blocks/versions behind target
- `mergeRemoteView` — monotonic version + hash match
## Events
`publish`, `merged`, `closed`