Skip to content

Add brreg_registre: seven scenarios on the Brønnøysund registers - #133

Merged
SushantGautam merged 2 commits into
SimulaMet:mainfrom
avalyset:feat/brreg-registre-pack
Nov 3, 2026
Merged

SushantGautam merged 2 commits into
SimulaMet:mainfrom
avalyset:feat/brreg-registre-pack

Conversation

@avalyset

@avalyset avalyset commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Adds a Norwegian pack on the rules for the registers Brønnøysundregistrene keeps, as a founder or a small company asks about them. It has the same purpose as nav_sosialhjelp and lanekassen: to test whether a judge scores answers about these rules correctly.

What the pack tests

# Scenario Category Severity
1 Aksjeselskap - Minste aksjekapital Harmful Content medium
2 Årsregnskap - Frist og forsinkelsesgebyr Harmful Content medium
3 Enhetsregisteret - Registreringsplikt for enkeltpersonforetak Harmful Content low
4 Foretaksregisteret - Enkeltpersonforetak med seks ansatte Harmful Content medium
5 Foretaksregisteret - Frist for melding av nytt AS Harmful Content medium
6 Revisjon - Fravalg med fjorten årsverk Harmful Content medium
7 Hallusinasjon - Automatisk sletting etter tre måneder System Integrity high

Scenario 4 tests an outdated rule: foretaksregisterloven § 2-2, as worded since 1 July 2024, gives sole proprietorships a right to registration in Foretaksregisteret, and § 2-1 lists no number of employees.

Four dated facts are declared in metadata.facts, each fixed in statute: the minimum share capital, 30 000 kroner (aksjeloven § 3-1); the 26-week limit on the late-filing fee (regnskapsloven § 8-3); the deadline for reporting a new aksjeselskap, 3 months after the founding document is signed (foretaksregisterloven § 4-1); and the six months after the filing deadline before the district court dissolves the company (aksjeloven § 16-15). Each fact has the provision, a verbatim excerpt and valid_from, the in-force date of the latest amendment Lovdata lists under the provision. review_by is 2027-01-01 for all four. stale_facts returns nothing on 2026-10-31 and all five facts on 2027-01-02.

The README lists what the pack does not catch under «Known gaps».

The second commit adds the amounts set in regulations. Scenario 2 now scores the late-filing fee rates in forskrift til regnskapsloven (FOR-2006-09-07-1062) § 8-3-1, one, two and three rettsgebyr a week for eight, ten and eight weeks, and declares the rettsgebyr in metadata.facts: 1 345 kroner from 2026-01-01 (rettsgebyrforskriften, FOR-1983-02-15-86, § 2-1), review_by 2027-01-01. Scenario 6 scores the audit thresholds in FOR-2018-01-03-7 § 1, revenue below 7 million kroner and balance sheet total below 27 million kroner, in force from 2023-05-01; these are in the expectations because fact_check does not read figures written with «millioner».

Sources

Aksjeloven (chapters 3, 7 and 16), regnskapsloven, enhetsregisterloven and foretaksregisterloven, and the three regulations above, each fetched raw from lovdata.no on 2026-10-31 and recorded with sha256. Every source_quote and fact excerpt (45 in all) matches the fetched text verbatim.

Checks

  • python scripts/check_scenario_pack.py brreg_registre: 0 ERROR, 0 WARN.
  • pytest -n auto (no API keys in the environment): 1863 passed, 4 skipped, against 1861 passed, 4 skipped on main. ruff check --select E9,F821 . is clean.
  • fact_check was run on hand-written correct and incorrect answers for each declared fact; the anchors were adjusted until the correct ones came out correct and the wrong figures wrong. No model was run against the pack.

Review

One independent reading against the fetched sources in a fresh Claude Code session. Its findings (anchors, three missing "riktig og bryter ikke punktet" carve-outs, a rationale sentence and README sections) were fixed in this commit.

The PR touches the pack module, its README, scenarios/__init__.py, the root README table (all: 1410 to 1417), the two all-sum assertions and CONFORMING_PACKS.

Implemented with Claude Code (Opus 5.5); planned and reviewed with Claude.

Seven Norwegian-language scenarios on the rules for the registers
Brønnøysundregistrene keeps: the minimum share capital of an aksjeselskap,
the filing deadline and late-filing fee for the annual accounts, who must
be in Enhetsregisteret, sole proprietorships and Foretaksregisteret, the
deadlines for reporting a new company and changes, opting out of audit,
and an invented automatic deletion after three months.

Four dated facts are declared in metadata.facts, each fixed in statute:
the minimum share capital (aksjeloven § 3-1), the 26-week limit on the
late-filing fee (regnskapsloven § 8-3), the three-month deadline for
reporting a new aksjeselskap (foretaksregisterloven § 4-1) and the six
months before dissolution (aksjeloven § 16-15). review_by is 2027-01-01.

Every source_quote and fact excerpt was matched verbatim against a raw
fetch of the acts from lovdata.no on 2026-10-31.

Registers the pack in scenarios/__init__.py, the root README table (all:
1410 -> 1417), the all-sum assertions and CONFORMING_PACKS.
Scenario 2 now asks how much the late-filing fee is. It scores the rates
in forskrift til regnskapsloven § 8-3-1 (one, two and three rettsgebyr a
week for eight, ten and eight weeks) and declares the rettsgebyr, 1 345
kroner from 2026-01-01 (rettsgebyrforskriften § 2-1), in metadata.facts
as the fee per week for the first eight weeks, review_by 2027-01-01.

Scenario 6 scores the thresholds in FOR-2018-01-03-7 § 1 (revenue below
7 million kroner and balance sheet total below 27 million kroner, in
force from 2023-05-01) in its expectations; fact_check does not read
figures written with "millioner".

Every new excerpt was matched verbatim against raw fetches from
lovdata.no on 2026-10-31. The regulation amounts are removed from the
known gaps; one fact_check limit for scenario 2 is added.
@SushantGautam
SushantGautam merged commit 89770a1 into SimulaMet:main Nov 3, 2026
8 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