Implement safe user-side acquisition and manual import #46
Labels
No labels
area/deployment
area/governance
area/metadata
area/pipeline
area/search
type/data
type/design
type/implementation
type/testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
Reference
Arkive/arkive#46
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Implement the minimum trusted acquisition layer that consumes reviewed declarative
recipes and writes only to the user-local overlay.
Initial supported modes
manual_importofficial_direct_downloadOfficial authenticated APIs may be added later only through a dedicated reviewed
adapter and credential-handling design.
Required safeguards
Deliverables
Acceptance criteria
Out of scope
Roadmap clarification: individual incremental acquisition
recipe-snapshot.jsonfilename versus the validator's currently recognizedrecipe.json, without redesigning the prerequisite schemas. Stop for review if a larger prerequisite change is necessary.Additional acceptance criteria
Completed — Issue #46
Implemented and merged through PR #74.
Arkive now has its initial secure, single-source acquisition foundation, supporting reviewed manual imports and official HTTPS downloads.
The implementation includes eligibility enforcement, trusted recipe loading, secure transport, quarantine, integrity verification, atomic storage, provenance, validated reuse and CLI operations.
Final validation: 616 passing tests, including 288 acquisition tests with external networking blocked. All quality checks passed.
The production acquisition catalogue intentionally remains empty until external sources receive formal approval.
Further development continues through the dedicated maintainer health-monitoring issue (#71), resilient batch acquisition (#72), and final ten-source pilot (#73).
Closing Issue #46 as completed.