Skip to content

content: add 3 New Zealand canons (raw milk, tenancy bond, rip currents) - #172

Merged
dbwls99706 merged 2 commits into
mainfrom
canon/nz-banking-food-legal-safety
Aug 18, 2026
Merged

content: add 3 New Zealand canons (raw milk, tenancy bond, rip currents)#172
dbwls99706 merged 2 commits into
mainfrom
canon/nz-banking-food-legal-safety

Conversation

@dbwls99706

@dbwls99706 dbwls99706 commented Aug 17, 2026

Copy link
Copy Markdown
Owner

What this adds

Three New Zealand country canons in domains main does not cover:

  • food-safety/raw-milk-farm-gate-only/nz — raw drinking milk may only be sold direct from an MPI-registered farm (farm gate or home delivery), never through a shop or market stall; the widely-repeated 5 L/day cap was removed when the 2016 rules took effect.
  • legal/bond-must-be-lodged-with-tenancy-services/nz — a landlord must lodge a tenant's bond with Tenancy Services within 23 working days; paying the bond to the landlord is not the end of the process and tenants need to confirm lodgement.
  • safety/unpatrolled-beach-rip-current-risk/nz — NZ's per-capita fatal drowning rate is ~57% higher than Australia's; swim at patrolled beaches between the flags, and know the rip-escape technique.

Primary sources: mpi.govt.nz (raw milk media release), tenancy.govt.nz (lodging a bond, preventing bond problems), watersafetynz.org and surflifesaving.org.nz (2023 beach and coastal safety report), with foodsafetynews.com as corroboration.

Rebased onto main — what changed since the original version

This branch was opened before #173 merged. Merging main in and reconciling:

  • Dropped banking/no-ird-number-45-percent-withholding/nz. content: add 4 New Zealand country canons, re-verify 3 aging code canons #173 landed banking/rwt-non-declaration-rate/nz, which already documents the 45% non-declaration rate on bank interest. One canon, not two.
  • Dropped the aging-canon re-verification. content: add 4 New Zealand country canons, re-verify 3 aging code canons #173 re-verified the same three files (node/prisma-p2002-unique-constraint, nextjs/server-action-serialization-error, python/typeerror-async-generator-not-iterable) on 2026-08-16, and took main's version. main is also more accurate on one point: its Next.js source URL is the specific /docs/app/getting-started/mutating-data page rather than the generic /docs/messages/ index this branch had proposed.
  • Added cross-links so the new canons sit in the graph: the rip-current canon distinguishes itself from emergency/dial-111/nz, and the raw-milk canon from food-safety/undeclared-biosecurity-goods/nz.

Every content PR picks "the 3 canons with the oldest last_confirmed" by the same deterministic rule, so parallel branches collide on exactly those files. Dropping the re-verification here removes the conflict without losing anything — main already carries the refreshed dates.

Checks

  • ruff check generator/ tests/ — clean
  • python -m pytest tests/ -q — 337 passed
  • python -m generator.validate --data-only — PASSED (2483 canons, 0 stale)
  • python -m generator.build_site + --site-only — PASSED

Verified this branch merges cleanly alongside #165, #166, and #168 in any order.

Adds banking, food-safety, legal, and safety canons for New Zealand,
which previously had only 4 country canons across culture/disaster/
emergency/visa. Also re-verifies the 3 canons with the oldest
last_confirmed dates (2026-02-01), updating stale Prisma and Next.js
doc URLs that moved to new paths.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UmCmEu2RsPjbVv4GcBZNxM
@vercel

vercel Bot commented Aug 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
deadends-dev Ready Ready Preview Aug 18, 2026 12:59am

main (#173) landed New Zealand coverage for banking/RWT, biosecurity
declarations, ACC lawsuit bar, and public-healthcare eligibility, plus a
re-verification of the same three code canons this branch had refreshed.

- Dropped banking/no-ird-number-45-percent-withholding/nz: main's
  banking/rwt-non-declaration-rate/nz already documents the 45%
  non-declaration rate on bank interest.
- Took main's version of the three re-verified code canons. main's
  nextjs source URL (.../getting-started/mutating-data) is more specific
  than the /docs/messages/ link this branch had proposed.
- Cross-linked the three remaining canons to existing NZ entries so the
  distinctions are explicit rather than implied.

Remaining new canons: raw-milk farm-gate-only sales, tenancy bond
lodgement with Tenancy Services, and unpatrolled-beach rip-current risk.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ksw62KukVY7Ft7e8zZGhrp
@dbwls99706 dbwls99706 changed the title content: add 4 New Zealand canons, re-verify 3 aging code canons content: add 3 New Zealand canons (raw milk, tenancy bond, rip currents) Aug 18, 2026
dbwls99706 added a commit that referenced this pull request Aug 18, 2026
Four PRs (#165, #166, #168, #172) sat unmergeable at once with green CI,
blocked by the content workflow itself in three ways.

1. Every cycle re-verified "the canons with the oldest last_confirmed", a
   deterministic rule, so parallel cycles picked the same files and all
   but the first to merge conflicted on the date fields they came to
   refresh. generator.reverify now assigns each cycle a bucket fixed by
   hashing the canon ID - not by position in the aging list, which would
   shift its boundaries whenever a merge aged canons in or refreshed
   them and let two cycles land on overlapping-but-unequal slices. Two
   seeds now own the same bucket or share nothing; a partial overlap
   cannot occur. It also excludes canons other pushed branches touch,
   and reports when that scan could not read every branch rather than
   passing an unchecked scan off as clean.

2. Nothing said to check open PRs before picking a target, so three
   sessions each chose New Zealand off the same view of main. Step 2 now
   claims a target against the open PR list first.

3. The duplicate check grepped for an identical slug, while every
   duplicate that shipped used a different slug for the same dead end.
   The check is now by topic, and partial overlap gets narrowed and
   cross-linked or folded into the existing canon.

Also documents the re-verification contract: re-read every source before
bumping any date.
@dbwls99706
dbwls99706 merged commit 79d0b7d into main Aug 18, 2026
4 checks passed
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.

2 participants