Skip to content

docs(edge-sync): document hub-side air-gap import - #22

Merged
xe-nvdk merged 1 commit into
docs/edge-sync-airgapfrom
docs/edge-sync-import
Aug 7, 2026
Merged

xe-nvdk merged 1 commit into
docs/edge-sync-airgapfrom
docs/edge-sync-import

Conversation

@xe-nvdk

@xe-nvdk xe-nvdk commented Aug 7, 2026

Copy link
Copy Markdown
Member

Stacked on #21 (which is stacked on #20). Merge #20 → #21 → this, and each retargets automatically.

Summary

Documents the import half (Basekick-Labs/arc#582): the [edge_sync.import] block, importing a drive, the three refusals an operator will actually meet, and the import-history endpoint.

Explains why a duplicate drive is refused by a dedup ledger rather than a timestamp window — the online freshness check works because a request is in flight, and a bundle is not. Notes the (spoke_id, bundle_id) key, so a compromised spoke cannot block another spoke's future drives.

Documents cluster-mode Raft batching, since a 2,500-file bundle costing 3 proposals instead of 2,500 is the kind of thing an operator sizing a cluster needs to know — along with the abort-on-failure behaviour and why re-importing is the recovery.

Removes the "hub-side import is not in this release" limitation. The acknowledgment limitation stays: exported files still do not reach synced and are not pruned until 9d ships.

Every status code, config key, endpoint path, and JSON field was verified against the shipped handler rather than the design doc.

🤖 Generated with Claude Code

Covers the import half (Basekick-Labs/arc PR 9c): the [edge_sync.import]
block, importing a drive, the three refusals an operator will actually
meet, and the import history endpoint.

Explains why a duplicate drive is refused by a dedup ledger rather than a
timestamp window — the online freshness check works because a request is
in flight, and a bundle is not. Notes the (spoke_id, bundle_id) key, so a
compromised spoke cannot block another's future drives.

Documents cluster-mode Raft batching, since a 2,500-file bundle costing 3
proposals instead of 2,500 is the kind of thing an operator sizing a
cluster needs to know.

Removes the "hub-side import is not in this release" limitation. The
acknowledgment limitation stays.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant