Skip to content

Add annual PDF audit export - #164

Open
kyleve wants to merge 5 commits into
mainfrom
codex/annual-pdf-audit-export
Open

Add annual PDF audit export#164
kyleve wants to merge 5 commits into
mainfrom
codex/annual-pdf-audit-export

Conversation

@kyleve

@kyleve kyleve commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a single-snapshot annual audit read in WhereCore, with captured tracked-region attribution, evidence/manual metadata, and stable raw-sample ordering
  • add the Your Year export flow: configuration, cancellable progress, PDFKit preview, typed PDF sharing, bounded temporary-file cleanup, and privacy-minimized logging
  • generate deterministic searchable PDFs with audit methodology, regional and daily tables, manual/evidence indexes, mixed portrait/landscape pages, optional complete raw-GPS appendix, and demo watermarks
  • add Core/UI/PDFKit coverage, UI and representative PDF-page snapshots, documentation/localization updates, and the follow-up annual-recap TODO

Why

Users need a transparent, portable record of jurisdiction-day presence that they can review themselves or share with an accountant or tax authority. The report explains Where's non-exclusive day-counting methodology and can optionally disclose the underlying device-GPS rows without introducing a backend or a dedicated mail integration.

User impact

The Your Year toolbar now opens an export sheet with an independent year picker, optional prepared-for/reference fields, Letter/A4 selection, and an explicit raw-GPS opt-in. After generation, users can inspect the paged PDF and share it through Mail, Files, AirDrop, Messages, or another installed destination. Demo-mode exports are unmistakably marked as sample data.

No persistence migration, entitlement, backend, target, or package dependency is added.

Validation

  • ./test --everything — 1,555 unit tests and 33 snapshot tests passed
  • swift run bumper config .
  • swift run bumper test . — 15 architecture mutation tests passed
  • swift run bumper lint . --timings — no architecture violations
  • ./swiftformat --lint
  • ./xcstrings --lint
  • git diff --check
  • PDFKit structural checks plus visual inspection of standard, demo, and 1,000-row raw-GPS fixtures

@kyleve
kyleve marked this pull request as ready for review August 2, 2026 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant