chore(import): stop tracking real family PII canonical artifacts

The four files in tools/import-normalizer/out/ contain real names,
addresses, and attribution prose for ~163 living/deceased family members
and were committed by mistake. They are now removed from the index
(kept on disk for local development) and gitignored.

The canonical artifacts are produced locally from the Python normalizer
and synced into IMPORT_HOST_DIR out-of-band alongside the PDFs. The
contract between normalizer and importer is the header schema, not the
file contents — CanonicalSheetReader fails closed on a missing header,
which is what locks the contract.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-28 10:20:38 +02:00
parent 07300aeff7
commit 46d1f5c6d8
10 changed files with 48 additions and 3183 deletions

View File

@@ -231,7 +231,9 @@ complete.*
### 4.6 Canonical output & provenance (`FR-OUT`, `FR-PROV`) — resolves IMP-01, IMP-09, IMP-12
- **REQ-OUT-01** — The normalizer shall write `out/canonical-documents.xlsx` and
`out/canonical-persons.xlsx` with the headered schemas in §6.
`out/canonical-persons.xlsx` with the headered schemas in §6. The `out/` directory is
**gitignored** (real family PII — see ADR-025); ops syncs the regenerated files onto the
import host alongside the PDFs out-of-band.
- **REQ-PROV-01** — Every canonical document row shall carry `source_row` (1-based row number
in the source sheet) so any value can be traced back to the original.
- **REQ-PROV-02** — Every canonical row shall carry a `needs_review` field listing zero or more

View File

@@ -42,6 +42,12 @@ built) transforms the raw xlsx + person register into a clean canonical dataset
re-run. The Java importer is adjusted to consume the canonical contract in a later **Phase 2**.
See the spec for the full contract.
The canonical artifacts themselves (the `out/` files) are **produced locally and not
version-controlled** — they contain real family PII. They are synced onto the ops host's
`IMPORT_HOST_DIR` alongside the PDFs, out-of-band. The contract is the header schema in
`02-normalization-spec.md` §6, not any particular file in `out/`. See ADR-025 for the full
rationale.
## Status board
| ID | Issue | Severity | Status |