Adopt user-side acquisition recipes with a separated local-content overlay #34
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
2 participants
Notifications
Due date
No due date set.
Blocks
Reference
Arkive/arkive#34
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?
Decision
Arkive will support reviewed user-side acquisition recipes and manual import
for selected sources that cannot be redistributed in Arkive's shipped bundle but
may be lawfully acquired and processed locally by an end user under a documented,
target-specific and jurisdiction-aware basis.
This is an additional local overlay. It does not weaken Arkive's bundle eligibility
rules and does not convert a non-redistributable source into redistributable content.
Binding architecture
Two distribution domains
bundled_core: Arkive-created or third-party content that passes existingredistribution and bundle review.
user_local: user-acquired source bytes, derived documents, chunks, indexes,and provenance that remain on that user's system.
Separate stores, manifests, and indexes
boundary and fail closed against accidental contamination.
Declarative reviewed recipes
or other user-supplied code.
Permission is multidimensional
terms/contract, authentication, technical access controls, evidence, and
jurisdiction are reviewed separately.
blanket permission categories.
Allowed initial acquisition modes
workflow.
host when automation is acceptable.
other technical/access controls, and will not direct users to unauthorized copies.
Provenance and recipes remain separate
origin.acquisition_pathstays descriptive.separate schemas.
Review, expiry, and withdrawal
date, recheck/expiry, and withdrawal state.
to erase copies already created on a user's machine.
User disclosure
may be subject to copyright and contract restrictions, may not be safe to share
or include in backups/exports, and remains the user's responsibility.
Scope of this issue
Produce the architecture decision record and reconcile existing governance language
that currently excludes automated downloading/scraping. The updated policy should
distinguish prohibited general scraping from narrowly reviewed acquisition recipes.
Out of scope
Roadmap
This decision creates the following issues in User-Acquired Content Overlay v0.1:
The new milestone may reuse completed work from the current processing and search
milestones. It does not expand or modify Issue #10, and it does not block completion
of the existing five-document pilot corpus.
Dependencies
None. This policy/architecture decision can be completed now.
Acceptance criteria
origin.acquisition_pathremains descriptive rather than executable.review requirements are documented.
Decide whether Arkive ships user-side acquisition recipes for non-redistributable sourcesto Adopt user-side acquisition recipes with a separated local-content overlayThe user-acquired-content roadmap has been created under User-Acquired Content Overlay v0.1:
Dependency direction is intentionally downstream:
outputs instead of blocking or expanding them.
Implementation handoff
The Forgejo milestone, downstream issues, and dependency framework are now complete and have been audited successfully. Issue #34 still requires the architecture decision to be committed to the repository before it can be closed.
Expected repository changes
Please create a documentation-only branch, suggested name:
feature/issue-34-user-acquired-content-overlayThe expected files to review and update are:
governance/decision_records/ADR-0002-user-acquired-content-overlay.mddocs/source-intake.mdmeta/policies/source_acceptance_policy.mdmeta/policies/license_policy.mddocs/architecture/overview.mdCHANGELOG.mdADR requirements
The ADR should follow the general structure of
ADR-0001and record:bundled_coreanduser_local;Rejected alternatives should include at least:
Policy reconciliation
The existing policies should clearly state that:
origin.acquisition_pathremains descriptive and non-executable;Scope guard
This issue must remain documentation-only.
Do not add:
Validation
Run the existing project checks even though the changes are documentation-only:
python -m unittest discover -s tests -vpython -m ruff check .python -m ruff format --check .git diff --checkThe pull request should target
develop, reference Issue #34, summarize how each acceptance criterion is satisfied, and explicitly confirm that no implementation code or third-party source content was added.Issue #34 should be closed only after the documentation PR is reviewed and merged and all acceptance criteria are checked.
Issue #34 has been completed by merged PR #52.
Implemented:
bundled_coreanduser_localstores, manifests, and indexes that fail closed against accidental bundle contamination;origin.acquisition_pathas descriptive provenance;Verified:
No downloader, importer, processing, indexing, schema, production acquisition-target, or third-party source-content work was included.
Follow-up implementation can proceed through Issues #43–#50 according to their established dependencies.