Skip to content

content: add 4 South Africa country canons, re-verify 3 aging code canons - #165

Open
dbwls99706 wants to merge 1 commit into
mainfrom
canon/za-banking-legal-medical-mental-health
Open

content: add 4 South Africa country canons, re-verify 3 aging code canons#165
dbwls99706 wants to merge 1 commit into
mainfrom
canon/za-banking-legal-medical-mental-health

Conversation

@dbwls99706

Copy link
Copy Markdown
Owner

Gap filled

South Africa (za) previously had only 4 of 12 country-scoped domains covered (emergency, safety x2, visa). This PR adds coverage in 4 previously-empty domains: banking, mental-health, medical, legal.

Canons added

  • banking/proof-of-address-barrier/za — Proof of residential address has not been a legal FICA requirement since Government Notice R1062 (Government Gazette 41154) repealed the relevant regulations on 2 October 2017. FIC Guidance Note 7A now lists it as an optional supplementary attribute, not a statutory one — a bank branch that insists on a utility bill is applying internal policy, not law. Documents the SAPS Commissioner-of-Oaths affidavit route as an alternative for people without a bill in their own name.
  • mental-health/crisis-line-not-emergency-dispatch/za — SADAG's 24/7 Suicide Crisis Helpline (0800 567 567, free, also SMS 31393) is telephonic counselling/referral, not a dispatch service; South Africa's real emergency dispatch numbers are 10111 (police), 10177 (ambulance), and 112 (mobile).
  • medical/uninsured-emergency-cost/za — Constitution section 27(3) bars refusing emergency treatment, but that's not the same as free: foreign nationals/tourists are automatically billed as non-subsidised, full-paying patients under the provincial Uniform Patient Fee Schedule (UPFS), regardless of income, unlike citizens/residents who may qualify for subsidised H1/H2 fee bands.
  • legal/tax-residency-not-simple-day-count/za — SARS's primary residency test is the fact-specific, case-by-case "ordinarily resident" test (not a day count at all); only if that doesn't apply does the physical presence test kick in, requiring >91 days in the current year, >91 days in each of the preceding 5 years, and >915 days total across those 5 years — considerably stricter than the "183 days" figure people import from other countries' tax systems.

Sources used

  • Financial Intelligence Centre (fic.gov.za) — Guidance Note 7A
  • mjkinc.co.za — legal analysis of the 2017 FICA address-proof repeal (GN R1062/GG 41154)
  • idchecker.co.za — SAPS affidavit proof-of-residence process
  • gov.za — SADAG/emergency numbers contact sheet (GCIS)
  • SAPS (saps.gov.za) / gov.za — South Africa emergency dispatch numbers
  • SAHRC (sahrc.org.za) — constitutional right to emergency medical treatment
  • gov.za — Gauteng Health media statement on UPFS tariffs for foreign nationals
  • SARS (sars.gov.za) — foreign employment income exemption page (ordinarily-resident test) and Interpretation Note 4 PDF (physical presence test day thresholds)

Re-verification (rolling, to avoid a Feb-2027 staleness wall)

Picked the next 3 oldest last_confirmed canons (2026-02-01 cohort, not already handled by the prior re-verification PR #164) and re-checked every source URL:

  • docker/compose-depends-on-unhealthy/docker27-linux — all 3 source URLs still live and still support the claims; last_confirmed bumped, no content change.
  • rust/e0521-borrowed-data-escapes/rust1-linux — all 3 source URLs still live and still support the claims; last_confirmed bumped, no content change.
  • nextjs/async-params-nextjs15/next15-linux — content still accurate, but 2 of the 4 cited Next.js doc URLs moved to new canonical paths (upgrading/version-15 and upgrading/codemods both moved under /guides/; rendering/server-components moved to /getting-started/server-and-client-components). URLs updated, last_confirmed bumped.

No canon in this batch had its underlying claim invalidated — this cycle's most valuable outcome was catching the moved Next.js doc URLs.

Validation

  • ruff check generator/ tests/ — clean
  • python -m pytest tests/ -q — 337 passed
  • python -m generator.validate --data-only — PASSED (2468 total canons, 0 errors)
  • python -m generator.build_site — built cleanly
  • python -m generator.validate --site-only — PASSED

Generated by Claude Code

…nons

New South Africa (za) canons fill genuine gaps - za previously had only
4 of 12 country-scoped domains covered (emergency, safety, visa):

- banking/proof-of-address-barrier/za - proof of residential address has
  not been a legal FICA requirement since the 2 Oct 2017 repeal (GN R1062,
  GG 41154); banks that still insist on it are applying internal policy,
  not law, and a SAPS affidavit route exists as an alternative
- mental-health/crisis-line-not-emergency-dispatch/za - SADAG's 24/7
  Suicide Crisis Helpline (0800 567 567) is counselling/referral, not
  dispatch; real emergencies need 10111/10177/112
- medical/uninsured-emergency-cost/za - Constitution s27(3) bars refusing
  emergency treatment, but foreign nationals are billed as non-subsidised,
  full-paying patients under the provincial Uniform Patient Fee Schedule
  regardless of income
- legal/tax-residency-not-simple-day-count/za - SARS's primary test is the
  fact-specific "ordinarily resident" test, not a flat day count; the
  fallback physical presence test needs >91 days this year, >91 days in
  each of the prior 5 years, and >915 days total across those 5 years

Also re-verifies the next 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 - all sources still
  valid, no changes
- rust/e0521-borrowed-data-escapes/rust1-linux - all sources still valid,
  no changes
- nextjs/async-params-nextjs15/next15-linux - content unchanged but two
  Next.js doc URLs moved to new canonical paths (upgrading/version-15 and
  upgrading/codemods both moved under /guides/; rendering/server-components
  moved to /getting-started/server-and-client-components), updated

Claude-Session: https://claude.ai/code/session_01Fj9oPLXsxJLwLggQ4xLBG6

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@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 14, 2026 2:24am

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