Skip to content

content: add NZ PAYE non-notified rate and 1737 crisis-line canons - #166

Merged
dbwls99706 merged 2 commits into
mainfrom
claude/nifty-goldberg-arcdg5
Aug 18, 2026
Merged

content: add NZ PAYE non-notified rate and 1737 crisis-line canons#166
dbwls99706 merged 2 commits into
mainfrom
claude/nifty-goldberg-arcdg5

Conversation

@dbwls99706

@dbwls99706 dbwls99706 commented Aug 14, 2026

Copy link
Copy Markdown
Owner

What this adds

Two New Zealand canons:

  • banking/no-ird-number-paye-non-notified-rate/nz — a NZ employer must deduct PAYE at the non-notified rate of 45c in the dollar plus the ACC earner's levy from any employee who has not handed in a completed IR330 tax code declaration with an IRD number. That is above the 39% top personal rate and applies regardless of how little the employee earns, so starting work before the IRD number arrives costs close to half of each pay. Over-deduction comes back at the end-of-year assessment, not when the number is finally supplied — so the money is tied up for months.
  • mental-health/crisis-line-not-emergency-dispatch/nz — 1737 (Need to Talk) is free and 24/7, but its own service description says it "is not a crisis team" and it cannot dispatch responders. Immediate danger needs 111; an in-person mental health crisis response comes from the regional Crisis Assessment Team, reachable via Healthline 0800 611 116.

Sources: ird.govt.nz (RWT rate page, IR330 form, new-arrival IRD number application, end-of-year assessment), 1737.org.nz, mentalhealth.org.nz, lifeline.org.nz.

Rebased onto main — what changed since the original version

This branch was opened before #173 merged and was six commits behind. Reconciling:

  • Re-scoped the IRD canon. It originally covered both the RWT-on-interest and the PAYE-on-wages sides of the no-notification rate. content: add 4 New Zealand country canons, re-verify 3 aging code canons #173 landed banking/rwt-non-declaration-rate/nz, which covers the interest side — but nothing covered the employment side, which is a distinct payer under a distinct rule (IR330 rather than the bank's RWT election). The canon now carries only the PAYE half, renamed to banking/no-ird-number-paye-non-notified-rate/nz and cross-linked to the RWT canon so the two payers are not conflated. Giving your IRD number to the bank does not give it to your employer.
  • Dropped legal/undeclared-risk-goods-instant-fine/nz — covered by content: add 4 New Zealand country canons, re-verify 3 aging code canons #173's food-safety/undeclared-biosecurity-goods/nz.
  • Dropped medical/no-fault-acc-bars-injury-lawsuit/nz — covered by content: add 4 New Zealand country canons, re-verify 3 aging code canons #173's legal/acc-bars-personal-injury-lawsuit/nz.
  • Dropped the aging-canon re-verification and took main's version of docker/compose-depends-on-unhealthy, nextjs/async-params-nextjs15, and node/err-unsupported-esm-url-scheme. Nothing is lost: this branch's genuine finding — that import.meta.dirname was backported into the 20.x LTS line at 20.11.0, not introduced only at 21.2.0 — is already on main in a slightly fuller form, and main has the moved Next.js doc URLs too.

Checks

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

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

New Zealand previously had only 4 of 12 country-scoped domains covered
(culture, disaster, emergency, visa) - the most underserved supported
country. Adds:

- banking/no-ird-number-high-withholding-tax/nz - IRD's 45% "no
  notification" RWT/PAYE default rate applied when no IRD number is on
  file, far above the top 39% personal tax rate
- medical/no-fault-acc-bars-injury-lawsuit/nz - Accident Compensation
  Act 2001 s317 bars personal-injury lawsuits for residents and
  visitors alike; ACC only partially covers treatment, so travel
  insurance is still needed
- mental-health/crisis-line-not-emergency-dispatch/nz - 1737 (Need to
  Talk) is explicitly not a crisis team and cannot dispatch responders;
  111 or the regional Crisis Assessment Team (via Healthline) is needed
  for emergencies
- legal/undeclared-risk-goods-instant-fine/nz - MPI requires declaring
  all food/biosecurity risk goods regardless of packaging; failing to
  declare (even by accident) triggers an instant NZD 400 fine

Sources: ird.govt.nz, legislation.govt.nz, acc.co.nz, newzealand.com
(Tourism NZ), 1737.org.nz, mentalhealth.org.nz, lifeline.org.nz,
mpi.govt.nz, nzherald.co.nz.

Also re-verifies the 3 oldest-dated canons (last_confirmed 2026-02-01,
the earliest bulk-generation cohort) as part of the ongoing rolling
re-verification to avoid a staleness wall as the Feb 2026 batch crosses
365 days:

- docker/compose-depends-on-unhealthy/docker27-linux - sources still
  current, content unchanged, last_confirmed refreshed
- nextjs/async-params-nextjs15/next15-linux - content still accurate;
  two cited nextjs.org URLs had moved to new canonical paths
  (building-your-application/upgrading/* -> guides/upgrading/*,
  rendering/server-components -> getting-started/server-and-client-components)
  after a docs reorg, updated to match
- node/err-unsupported-esm-url-scheme/node20-linux - content
  correction: import.meta.dirname/filename was claimed to require Node
  21.2+ only, but Node's own docs show it was backported to 20.11.0 and
  is available in the 20.x LTS line, not just 21.2+/22+

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

vercel Bot commented Aug 14, 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 1:07am

… PAYE

main (#173) landed New Zealand coverage for biosecurity declarations, the
ACC lawsuit bar, and RWT non-declaration, and re-verified the same three
code canons this branch had refreshed.

- Dropped legal/undeclared-risk-goods-instant-fine/nz: main's
  food-safety/undeclared-biosecurity-goods/nz covers it.
- Dropped medical/no-fault-acc-bars-injury-lawsuit/nz: main's
  legal/acc-bars-personal-injury-lawsuit/nz covers it.
- Re-scoped banking/no-ird-number-high-withholding-tax/nz to
  banking/no-ird-number-paye-non-notified-rate/nz. main's
  banking/rwt-non-declaration-rate/nz already documents the 45% RWT on
  bank interest, but nothing covered the employment side: the IR330
  non-notified PAYE rate of 45c in the dollar plus the ACC earner's levy.
  The canon now carries only that, cross-linked to the RWT one so the
  two payers are not conflated.
- Took main's version of the three re-verified code canons. main already
  carries this branch's Node 20.11.0 backport correction for
  import.meta.dirname, in a slightly fuller form.

Remaining new canons: the PAYE non-notified rate above, and 1737 (Need to
Talk) being a counselling line that cannot dispatch responders.

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 NZ PAYE non-notified rate and 1737 crisis-line canons Aug 18, 2026
@dbwls99706
dbwls99706 merged commit a1ba54f into main Aug 18, 2026
4 checks passed
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.
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