Skip to content

Make Node CAS-only: opaque partitions (part-* I/O), drop Kubo gateway/peers (CAS address of record) - #215

Open
JEJodesty wants to merge 7 commits into
mainfrom
w3c
Open

Make Node CAS-only: opaque partitions (part-* I/O), drop Kubo gateway/peers (CAS address of record)#215
JEJodesty wants to merge 7 commits into
mainfrom
w3c

Conversation

@JEJodesty

@JEJodesty JEJodesty commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

Make live Orders CAS-only: opaque partition I/O on ni:, AddressStore/ContentMesh without Kubo gateway/UnixFS/CAR, Structure TF without host Kubo / Docker IPFS peers, and Node start that soft-probes ContentStore (Kubo optional operator tooling).

Opaque partition I/O

  • Plant IoPort mints part-NNNNN shards via CAS put_dir (no Kubo add / getCar / dag_export)
  • Prefer opaque layouts; keep one-cycle read of legacy part-*.car

CAS-only mesh + AddressStore

  • Drop gateway / UnixFS / CARv1 AddressStore modules; legacy CID fail closed
  • put_dir / put_file require CATS_HOME (no ipfsClient.add fallback)
  • Default Node ipfsClient=None; node start soft-probes ContentStore and still binds Flask

Structure without Kubo T&D peers

  • Remove TF host_ipfs_daemon, Docker IPFS transport Compose, and peering resources (removed + destroy)
  • TransportContext is CAS-only (migrate / stage_for_plant); soft-probe ContentStore after apply
  • Plant depends on MinIO scratch readiness instead of IPFS transport

Docs / diagrams

  • IPFS / STORAGE / NodeLifeCycle / INTEROP / TEST describe CAS as address of record; Kubo optional
  • Regenerate code2flow + pyreverse assets

Test plan

Partition I/O

  • uv run pytest tests/test_ray_io_partitions.py -q
    • CATS_IO_PARTITIONS>1 uses opaque part-* + put_dir; no ipfsClient CAR mint
    • Legacy part-*.car helpers still readable where covered

CAS-only AddressStore / mesh / Node

  • uv run pytest tests/test_address_store_cas_only.py -q
    • Legacy CID cat/get fail closed; ni: round-trip still works
  • uv run pytest tests/test_meshclient_rpc_surface.py tests/test_transport_port.py -q
    • Mesh/transport call CAS paths; no Kubo add fallback when CATS_HOME set
  • uv run pytest tests/test_node_lifecycle_cli.py -q
    • Soft ContentStore probe on start; ensure path unchanged for operators

Structure / transport

  • uv run pytest tests/test_infrastructure_transport_utils.py -q
    • CAS migrate / stage_for_plant; no Docker peer assert
  • uv run pytest tests/test_content_store_ensure_binding.py -q
    • Soft-probe / optional ContentStore posture after apply

Docs / review

Notes

  • Breaking: legacy CID reads and Kubo-backed put_dir without CATS_HOME are unsupported
  • Host Kubo remains available via make content-store-ensure / node ensure for optional tooling only
  • Milestone: 2. CATs’ Node

refactor(plant): mint part-NNNNN via CAS put_dir (no Kubo
 add/getCar); prefer opaque layout with legacy .car read
test(plant): opaque part-* put_dir path; no ipfsClient CAR
 mint when CATS_IO_PARTITIONS>1
feat(network): drop gateway/UnixFS/CAR modules; legacy CID
 fail closed; put_dir/put_file require CATS_HOME;
 Node starts with soft ContentStore probe (no default Kubo)
refactor(infrastructure): remove host_ipfs_daemon and Docker
 IPFS transport TF; TransportContext is CAS-only; soft-probe
 ContentStore after apply; destroy retired resources via
 removed blocks
test(network,infrastructure): legacy CID fail closed; drop
 gateway/UnixFS suites; soft node start and CAS transport
docs: opaque partitions; CAS address of record;
 Kubo optional operator tooling across IPFS, STORAGE,
 NodeLifeCycle, INTEROP, and TEST
docs(images): regenerate code2flow and pyreverse after
 CAS-only network surface
@JEJodesty JEJodesty self-assigned this Aug 19, 2026
@JEJodesty JEJodesty added documentation Improvements or additions to documentation enhancement New feature or request story Agile story epic Agile Epic testing Testing functionality System functionality labels Aug 19, 2026
@JEJodesty JEJodesty added this to the 2. CATs’ Node milestone Aug 19, 2026
@JEJodesty JEJodesty changed the title W3c Make Node CAS-only: opaque partitions, drop Kubo gateway/peers Aug 19, 2026
@JEJodesty JEJodesty changed the title Make Node CAS-only: opaque partitions, drop Kubo gateway/peers Make Node CAS-only: opaque partitions (part-* I/O), drop Kubo gateway/peers (CAS address of record) Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request epic Agile Epic functionality System functionality story Agile story testing Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant