| name | external-drive-ingest-planning |
| description | Plan safe external-drive ingests into repo-aligned storage such as /mnt/ace: read-only mounts, manifests, staged rsync, dedupe-merge gates, GitHub issue traceability, and governance/execution split. |
| version | 1.0.0 |
| author | Hermes Agent |
| category | workspace-hub |
| tags | ["external-drive","ntfs","data-ingest","rsync","github-issues","governance","mnt-ace"] |
| triggers | ["User asks to ingest, consolidate, copy, or organize an external drive into /mnt/ace or another long-lived data mount","External NTFS/USB drive data must be copied while preserving source provenance","A data migration needs destination mapping, manifests, dedupe, and GitHub issue tracking before file operations","Source folders need mapping into repo-aligned buckets and execution must be gated by planning approval"] |
| related_skills | ["diagnose-and-mount-dirty-ntfs-drives","diagnose-dirty-ntfs-mount-errors","github-issues","gh-work-planning","issue-planning-mode"] |
External Drive Ingest Planning
Use this when planning a safe ingest from an external drive into /mnt/ace or another persistent data mount. The class of task is not just "mount the drive"; it is source-preserving, provenance-tracked data migration with staged copy and dedupe/merge risk controls.
Class-first trigger
A drive or mounted folder contains legacy/project/reference data that must be mapped into durable repo-aligned destinations, copied safely, and tracked through GitHub before any destructive or ambiguous operation.
Core principles
- No file operations before decisions are locked. Ask/resolve destination ambiguities first.
- Mount source read-only by default. Never write to the source drive unless explicitly approved.
- Separate execution and governance. Create an execution issue for the concrete ingest and a governance/standard issue if the session surfaces reusable placement policy.
- Stage first, merge later. Copy into
_from_<source-label>/ staging folders; dedupe-merge into the parent only as a second reviewed phase.
- Manifest before copy. Capture source file/size inventory and bounded checksums before rsync.
- Cross-link prior art. Existing layout/dedupe/inventory issues are part of resource intelligence, not optional context.
- No self-approval. For plan-gated repos, create issues/plans/reviews and stop at
status:plan-review until the user approves.
Step-by-step workflow
1. Live device discovery
Run live system checks rather than relying on prior device names:
lsblk -o NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT
If NTFS, use a non-mutating check first:
sudo ntfsfix --no-action /dev/sdXY
Do not run mutating ntfsfix, force, or a writable mount for archival/ingest work without explicit user approval.
2. Read-only mount pattern
After confirming the device node and source label:
sudo mkdir -p /mnt/<source-label-lower>
sudo ntfs-3g -o ro,big_writes,uid=$(id -u),gid=$(id -g),=022 /dev/sdXY /mnt/<source-label-lower>