Catalog Import Gate Local Evidence
Date: 2026-06-20
Timezone: America/St_Johns
Scope
Added a private-lane catalog import gate for reviewed redacted artifacts. This
did not read raw device files, reconnect to Zenbook, mount raw survey folders
into CT 126, mutate production CT 121, or authorize public cutover.
Added
tools/prepare_catalog_import.pytests/test_prepare_catalog_import.py- Content-promotion runbook approval-gate instructions.
Boundary
The worker starts after selected redaction. It reads:
- a redacted export directory,
manifest.json,catalog-import.json,- sanitized
artifacts/*.md, - a private operator approval JSON.
It refuses:
- raw source fields in the approval file,
- catalog artifact paths outside
artifacts/*.md, - missing or escaping artifact paths,
- raw data inclusion flags,
- unredacted secret-shaped values in artifacts,
- approved entries with no human/AI visibility,
- approved entries with no required tags.
Output
The worker writes catalog-import-approved.json with:
public_publishable=true,review_required=false,operator_approved=true,- sanitized artifact
source_pathvalues only, - no raw source paths, aliases, hashes, or raw content.
Verification
Local focused validation passed:
python -m py_compile tools\prepare_catalog_import.py tests\test_prepare_catalog_import.py
python -m unittest tests.test_prepare_catalog_import -v
The focused test coverage proves:
- an approved redacted artifact becomes an import-ready catalog entry,
- raw
source_pathfields in approval files are rejected, - secret-shaped values reintroduced into sanitized artifacts are rejected.
Full validation and sandbox packaging are recorded in
[REDACTED:high-entropy].md.