meta-transport-ipfs 1.0.0: ipfs tier split out of meta-share
Publish image / publish (push) Failing after 14s

This commit is contained in:
Worph
2026-10-03 15:43:58 +00:00
parent f6dfbc49ce
commit eb21c607d4
35 changed files with 12867 additions and 1 deletions
+25
View File
@@ -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).