meta-transport-ipfs 1.0.0: ipfs tier split out of meta-share
Publish image / publish (push) Failing after 14s
Publish image / publish (push) Failing after 14s
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# CLAUDE.md — meta-transport-ipfs
|
||||
|
||||
meta-share's IPFS tier, split out 2026-10 (`packages/meta-share/docs/transport-plugins.md`).
|
||||
Behaviour must stay identical to the monolith's swarm / blockstore / ingress.
|
||||
|
||||
## Load-bearing invariants
|
||||
|
||||
1. **The swarm is transport-only**: identify/kad/mdns/bitswap. No kamilata, no
|
||||
gossipsub, no request_response — search is meta-search's.
|
||||
2. **`MAX_MULTIHASH_SIZE = 64`** must match meta-gateway and meta-search.
|
||||
3. **`core2` is patched** in `Cargo.toml` (every libp2p-0.56 bitswap impl needs
|
||||
the yanked `^0.4.0`); mirror changes in meta-gateway.
|
||||
4. **`ipfs_chunk.rs` is kubo-identical** (256 KiB raw leaves, fanout 174), in
|
||||
sync with meta-gateway's `hash.rs` and `meta_feeder_sdk::hash`.
|
||||
5. **Records are never blocks**; `scrub_record_blocks` removes legacy MSR1 rows at
|
||||
boot.
|
||||
6. **Fetch for our user implies seed; the swarm side is provider-only** —
|
||||
unattributed blocks over `META_SHARE_LOOSE_BLOCK_MAX_BYTES` are dropped.
|
||||
7. **`gateway_discovery.rs` is a MIRRORED file** (meta-share hull + meta-search);
|
||||
`scripts/check-mirrors.sh` checks it.
|
||||
8. **Identify announces the hull's URL**, never this container's.
|
||||
9. **Seed rows, material index and meta-core are the hull's** — report them as
|
||||
events (`seed`, `promoted`), don't write them.
|
||||
10. **Mark, don't meter**: dag-range `/raw` answers carry `x-metamesh-meter:
|
||||
egress`; single blocks don't (posters were never throttled).
|
||||
Reference in New Issue
Block a user