Skip to content

content: add 4 Portugal canons (banking/policy/legal/disaster); re-verify 3 aging canons - #185

Merged
dbwls99706 merged 1 commit into
mainfrom
canon/20260823-1801
Aug 23, 2026
Merged

content: add 4 Portugal canons (banking/policy/legal/disaster); re-verify 3 aging canons#185
dbwls99706 merged 1 commit into
mainfrom
canon/20260823-1801

Conversation

@dbwls99706

Copy link
Copy Markdown
Owner

Gap filled

Portugal (pt) had 5 country canons before this PR - tied for the lowest
count among SUPPORTED_COUNTRIES, alongside Finland and Greece, both of
which were already claimed by other open PRs (#179, #181) at the time this
cycle started. Existing Portugal coverage was limited to
communication/culture/emergency/medical/visa - nothing in
banking, policy, legal, or disaster. This PR adds one canon in each
of those four gap domains. Portugal country-canon count: 5 → 9.

Canons added

  • banking/nif-tax-number-required/pt - A passport or residence permit
    alone does not let a foreigner open a bank account, sign a lease, or get a
    phone contract; Portugal's NIF (tax ID) is required first. Also corrects
    the common overcorrection that every non-resident must pay for an ongoing
    fiscal representative: since a 2022 change, that's only mandatory for
    non-EU/EEA residents once they establish an actual tax relationship (own
    property, work contract, VAT-liable self-employment), and even then most
    can substitute free electronic notifications instead.
  • policy/aima-replaced-sef-immigration/pt - SEF (Serviço de
    Estrangeiros e Fronteiras) was abolished at 00:00 on 29 October 2023
    (Decreto-Lei n.º 41/2023); its administrative functions for foreigners
    moved to AIMA, while border-control duties split to the PSP (air) and GNR
    (land/sea) - not to AIMA. Models trained on older material will
    confidently point users at an agency that no longer exists.
  • legal/drug-possession-decriminalized-not-legal/pt - Lei n.º 30/2000
    made personal possession/use up to a 10-day-supply threshold an
    administrative offense (handled by a regional Dissuasion Commission), not
    a crime - but drugs were never legalized. Trafficking, dealing, and
    quantities beyond the threshold remain criminal.
  • disaster/wildfire-fire-use-ban-critical-period/pt - Bonfires,
    smoking, and unauthorized vegetation burning in rural Portugal on "muito
    elevado"/"máximo" fire-danger days are a legal prohibition under
    Decreto-Lei n.º 82/2021, enforced with tiered fines (up to tens of
    thousands of euros) - not just an elevated personal risk to weigh.

Primary sources used

  • gov.pt (official NIF service page, foreign-citizens NIF/NISS guide)
  • info.portaldasfinancas.gov.pt (Tax Authority FAQ on fiscal representation)
  • Diário da República (Decreto-Lei n.º 41/2023 creating AIMA)
  • gov.pt news (AIMA start of operations announcement)
  • The Portugal News (SEF border-control powers transfer to PSP/GNR)
  • pgdlisboa.pt (Ministério Público legal database - Lei 30/2000 and
    Decreto-Lei 82/2021 full text)
  • Library of Congress comparative report on drug decriminalization
  • EU Drugs Agency (EUDA) Portugal drug policy profile
  • sgifr.gov.pt (AGIF/SGIFR official rural-fire rules and fine schedule)
  • cm-Ílhavo (municipal civil-protection fire-danger restriction list)

Re-verified aging canons

Per python -m generator.reverify --seed pt (claim scan: excluded 70
canons claimed by 10 other pushed branches, not incomplete):

  • docker/image-prune-in-use/docker27-linux
  • git/worktree-locked/git2-linux
  • typescript/ts2742-inferred-type-not-portable/ts5-linux

All source URLs on these three (docs.docker.com, git-scm.com,
typescriptlang.org) still resolve and still support the existing claims -
no content changes needed, only last_confirmed / verdict.last_updated /
metadata.last_verification bumped to today.

Validation

  • ruff check generator/ tests/ - all checks passed
  • python -m pytest tests/ -q - 369 passed
  • python -m generator.validate --data-only - PASSED (2526 canons, 0
    stale, 0 unknown)
  • python -m generator.build_site - built cleanly
  • python -m generator.validate --site-only - PASSED

Generated by Claude Code

…rify 3 aging code canons

Portugal had the fewest country canons of any uncontested target (5, tied
with fi/gr/be/no/se/il, but those were claimed by open PRs), and existing
coverage was limited to communication/culture/emergency/medical/visa - none
of banking, policy, legal, or disaster. New canons:

- banking/nif-tax-number-required/pt: a passport/residence permit alone is
  not enough for a bank account, lease, or phone contract; NIF is required,
  and the fiscal-representative requirement is tied to non-EU/EEA + an
  actual tax relationship, not just non-resident status.
- policy/aima-replaced-sef-immigration/pt: SEF was abolished 29 Oct 2023
  and its administrative functions moved to AIMA; border control split to
  PSP (air) and GNR (land/sea) - not AIMA.
- legal/drug-possession-decriminalized-not-legal/pt: Lei 30/2000
  decriminalized personal use up to a 10-day supply as an administrative
  offense, not a legalization; trafficking and excess quantities stay
  criminal.
- disaster/wildfire-fire-use-ban-critical-period/pt: bonfires, smoking, and
  unauthorized burning in rural areas are a legal prohibition (not just a
  risk judgment) on "muito elevado"/"maximo" fire-danger days, enforced
  with tiered fines under Decreto-Lei 82/2021.

Also re-verified the reverify --seed pt bucket (docker/image-prune-in-use,
git/worktree-locked, typescript/ts2742-inferred-type-not-portable): all
source URLs still resolve and support their claims, so only the date
fields were bumped.
@vercel

vercel Bot commented Aug 23, 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 23, 2026 2:25am

@dbwls99706
dbwls99706 merged commit cb698cd into main Aug 23, 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.

1 participant