[agent] redact real postal code from docs, CLI, and tests #2

Merged
polen merged 1 commit from agent/redact-postal-code-with-fake into main 2026-06-07 21:54:44 -04:00
Owner

What

Replaces every hard-coded example postal code (the previous J5V* values) with a clearly-fake placeholder: H0H 0H0 (Canada Post's official "Santa Claus" code, universally recognized in Canada as a placeholder).

The previous values weren't technically private — they're just a real Canadian postal code used as a "plausible example". But since the public repo surfaces them in the README, the docs, the agent skill, the CLI help text, error messages, and the code comments, anyone with read access could learn the maintainer's approximate location. That's a small but real privacy leak, and the fix is free.

Secondary example in the skill (was J5V 1A1): A1A 1A1.
README city mention Louiseville, QCthe North Pole, QC to stay consistent with the new postal code.

Why

Repo maintainer asked (Telegram, 2026-06-07): "non pas dans ta memoire mais dans ta PR et aussi le readme de circulaire, prend un faux code postal". Privacy is a real constraint, and the fix is a string substitution across user-facing files only.

Files changed (12)

  • README.md — quick start example, default config
  • docs/API.md — endpoint reference table
  • skills/circulaires-cli/SKILL.md — config block, normalization examples, "Verified" section
  • internal/cli/fetch.go, show.go, search.go — cobra Long/Examples, "no postal code" error messages
  • internal/flipp/postal.go, flyers.go — code comments
  • internal/flipp/postal_test.goTestNormalizePostalCode cases
  • internal/db/db_test.go, prune_test.go, regression_test.go — test fixtures

bin/circulaires is not committed but is stale and needs a rebuild.

Verification

  • git grep -in j5v (case-insensitive, all tracked files): zero matches
  • git grep -in louiseville (case-insensitive): zero matches
  • 30 new H0H references across the affected files
  • All substitutions preserve the A1A1A1 shape the Flipp client and SQLite schema expect → no semantic change
  • Tests + binary rebuild pending — please run on your side before merging:
    nix develop -c go test ./...
    nix develop -c bash -c 'CGO_ENABLED=0 go build -o bin/circulaires ./cmd/circulaires'
    

Notes

  • The maintainer's actual local ~/.config/circulaires/config.yaml is not touched — only public-facing strings in the repo
  • H0H 0H0 is a real Canada Post code reserved for the Santa Claus letter-response program; not a residential address, so there's no privacy concern with using it as a placeholder
## What Replaces every hard-coded example postal code (the previous `J5V*` values) with a clearly-fake placeholder: **`H0H 0H0`** (Canada Post's official "Santa Claus" code, universally recognized in Canada as a placeholder). The previous values weren't technically private — they're just a real Canadian postal code used as a "plausible example". But since the public repo surfaces them in the README, the docs, the agent skill, the CLI help text, error messages, and the code comments, anyone with read access could learn the maintainer's approximate location. That's a small but real privacy leak, and the fix is free. Secondary example in the skill (was `J5V 1A1`): `A1A 1A1`. README city mention `Louiseville, QC` → `the North Pole, QC` to stay consistent with the new postal code. ## Why Repo maintainer asked (Telegram, 2026-06-07): "non pas dans ta memoire mais dans ta PR et aussi le readme de circulaire, prend un faux code postal". Privacy is a real constraint, and the fix is a string substitution across user-facing files only. ## Files changed (12) - `README.md` — quick start example, default config - `docs/API.md` — endpoint reference table - `skills/circulaires-cli/SKILL.md` — config block, normalization examples, "Verified" section - `internal/cli/fetch.go`, `show.go`, `search.go` — cobra `Long`/`Examples`, "no postal code" error messages - `internal/flipp/postal.go`, `flyers.go` — code comments - `internal/flipp/postal_test.go` — `TestNormalizePostalCode` cases - `internal/db/db_test.go`, `prune_test.go`, `regression_test.go` — test fixtures `bin/circulaires` is not committed but is stale and needs a rebuild. ## Verification - `git grep -in j5v` (case-insensitive, all tracked files): **zero matches** - `git grep -in louiseville` (case-insensitive): **zero matches** - 30 new `H0H` references across the affected files - All substitutions preserve the A1A1A1 shape the Flipp client and SQLite schema expect → no semantic change - Tests + binary rebuild pending — please run on your side before merging: ``` nix develop -c go test ./... nix develop -c bash -c 'CGO_ENABLED=0 go build -o bin/circulaires ./cmd/circulaires' ``` ## Notes - The maintainer's actual local `~/.config/circulaires/config.yaml` is **not** touched — only public-facing strings in the repo - `H0H 0H0` is a real Canada Post code reserved for the Santa Claus letter-response program; not a residential address, so there's no privacy concern with using it as a placeholder
The README, docs/, skills/circulaires-cli/SKILL.md, CLI help text, error
messages, and test fixtures all previously hard-coded a real Canadian postal
code as a 'J5V*' example. Since the public repo exposes these strings,
this is a small but real privacy leak: anyone with read access to the repo
could learn the maintainer's approximate location.

Replace every example with a clearly-fake placeholder:

- 'H0H 0H0' / 'H0H0H0' for human-readable and canonical forms — this is
  Canada Post's official 'Santa Claus' postal code, universally recognized
  in Canada as a placeholder.
- 'A1A 1A1' as a secondary example in the skill (was 'J5V 1A1').
- README 'Louiseville, QC' → 'the North Pole, QC' to stay consistent with
  the new postal code (so a reader doesn't get confused by the mismatch).

Affected:
- README.md (quick start + default config)
- docs/API.md (endpoint reference)
- skills/circulaires-cli/SKILL.md (config, normalization examples, verified)
- internal/cli/{fetch,show,search}.go (cobra Long/Examples, error messages)
- internal/flipp/{postal,flyers}.go (code comments)
- internal/flipp/postal_test.go, internal/db/*_test.go (test fixtures)

No semantic change — every substitution keeps the same A1A1A1 shape that
the Flipp client and SQLite schema expect.

Binary needs a rebuild (run `nix develop -c go build -o bin/circulaires
./cmd/circulaires` or `nix build`).
polen approved these changes 2026-06-07 21:54:37 -04:00
polen merged commit b8bbfc3a80 into main 2026-06-07 21:54:44 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Lauria/circulaires!2
No description provided.