🪵 Rules explained · Conservation Regulator

Rules-as-code · Plain-English guide

Application to collect firewood

How the digitised rules for Victoria's Forests (Domestic Firewood) Regulations 2022 decide whether firewood may be collected — and what an application must include. No code, no jargon left unexplained.

Conservation Regulator 13 data types · 2 rule groups Version v1.0.0 Source: staging
01

The big picture

When someone describes a proposed firewood collection, the rules work out two things automatically:

  • What is and isn't allowed — whether the person may collect firewood, and which related activities (towing logs, using heavy machinery) are off-limits.
  • What the application must contain — which details become mandatory when someone nominates another person to collect on their behalf.

Everything below is worked out by the same small set of rules, evaluated top-to-bottom: when two rules touch the same thing, the later one wins. That single idea explains the whole “can you collect?” decision.

02

What the system asks about

You provide a fact the applicant enters. Rules work out a conclusion the rules calculate.

🗂️ Firewood collection application

Activity occurs in a firewood collection areaYou provideyes / no
Activity occurs during a firewood collection seasonYou provideyes / no
Collection area is within 20 metres of a watercourseYou provideyes / no
Nominate a person to act on one's behalfYou provideyes / no
May the person collect firewood?Rules work outpermitted / forbidden

🌲 Activities · 👤 Applicant & nominated collector

The activity's details (cutting / taking away / towing trees, bringing in and operating heavy machinery, filling a chainsaw) and the people involved (each with a name and physical address; the applicant also has a telephone).

03

Can you collect firewood?

The status of “may the person collect firewood?” changes as three rules apply in order (later rules win): a Forbidden default; opened to Permitted when in a collection area and in season; then back to Forbidden if it also involves cutting/taking away trees and is within 20 m of a watercourse.

In area?In season?Cut/take away and near water?Result
NoForbidden
YesNoForbidden
YesYesNoPermitted
YesYesYesForbidden

Also forbidden in a collection area during a season

Independently of the above, towing trees, bringing heavy machinery in, and operating heavy machinery are each Forbidden whenever the activity is in a collection area during a collection season — even where collecting itself is permitted.

04

The nomination form

If the applicant nominates a person to act on their behalf, a set of Applicant and Nominee details become Required (given name and full address, plus the applicant's phone); title, other names and apartment number stay Optional. If no one is nominated, this section adds no requirements.

05

Worked examples

🪓 A · Cutting a fallen tree on a dry ridge

Given In area Yes
Given In season Yes
Given Cutting trees Yes
Given Within 20 m of water No
Permitted — but towing / heavy machinery would still be forbidden here.

🌊 B · Dragging logs beside a creek

Given In area & season Yes
Given Taking away trees Yes
Given Within 20 m of water Yes
Forbidden — the watercourse exception fires (the last rule wins).
06

Test cases

Coverage at a glance

2 test suite(s), 6 scenario(s), 0 expectation(s) in total. 0 scenario(s) assert an outcome; 6 assert nothing (inputs only).

Scenarios that assert nothing exercise the rules but cannot pass or fail — they are a coverage gap worth noting.

The six scenarios are well chosen as situations: collecting in a designated area during a season, collecting near a watercourse, towing/winching, bringing in heavy equipment, and the two nomination cases together touch every branch of the logic. The problem is that not one of them asserts an expected outcome — each supplies inputs but declares no expectation, so the suite runs the rules without ever checking them. A green run here proves only that evaluation didn't error, not that the answers are right.

To make the coverage real, add expectations such as: the designated-area-and-season case expects collectFirewood = Permitted; the cutting/taking-near-water case expects Forbidden (the watercourse override); the towing case expects includesTowingTrees = Forbidden; the two heavy-machinery cases expect their activity Forbidden; and the “with nomination” case expects the applicant and nominee fields to become required. A negative baseline (outside any area or season → Forbidden) and a case that would expose the missing family-name requirement would close the remaining gaps.

8 Offences relating to conduct in a firewood collection area during a firewood collection season

4 scenario(s) · rules CIHQsSnOLWx0h0IWJw32UXvy→CIHQsSnOLWx0h0IWJw32UXvy
Collection permitted in designated area during collection season

Given these inputs

@id:EUSjiAYNU4cdcyZUXQWKiD4L
@type:Regsoft
@name:Collection permitted in designated area during collection season
firewoodCollectionApplication.activities.includesBringingHeavyMachineryIntoArea:False
firewoodCollectionApplication.activities.includesCuttingTrees:True
firewoodCollectionApplication.activities.includesOperatingHeavyMachinery:False
firewoodCollectionApplication.activities.includesTakingAwayTrees:True
firewoodCollectionApplication.activities.includesTowingTrees:False
firewoodCollectionApplication.activityOccursDuringAFirewoodCollectionSeason:True
firewoodCollectionApplication.activityOccursInFirewoodCollectionArea:True
firewoodCollectionApplication.collectionAreaIsWithin20MetresOfAWatercourse:False
firewoodCollectionApplication.collectFirewood:True

Then expect

Nothing asserted — this scenario has no expectations.

Collecting firewood near a waterway

Given these inputs

@id:0WyTLvcy8qFsMQKBsEABaaTB
@type:Regsoft
@name:Collecting firewood near a waterway
firewoodCollectionApplication.activities.includesBringingHeavyMachineryIntoArea:False
firewoodCollectionApplication.activities.includesCuttingTrees:False
firewoodCollectionApplication.activities.includesOperatingHeavyMachinery:False
firewoodCollectionApplication.activities.includesTakingAwayTrees:True
firewoodCollectionApplication.activities.includesTowingTrees:False
firewoodCollectionApplication.activityOccursDuringAFirewoodCollectionSeason:True
firewoodCollectionApplication.activityOccursInFirewoodCollectionArea:True
firewoodCollectionApplication.collectFirewood:True
firewoodCollectionApplication.collectionAreaIsWithin20MetresOfAWatercourse:True

Then expect

Nothing asserted — this scenario has no expectations.

Towing or winching trees

Given these inputs

@id:dgCbR2YhmFAJntuBX1VKhMqf
@type:Regsoft
@name:Towing or winching trees
firewoodCollectionApplication.activities.includesBringingHeavyMachineryIntoArea:False
firewoodCollectionApplication.activities.includesCuttingTrees:True
firewoodCollectionApplication.activities.includesOperatingHeavyMachinery:False
firewoodCollectionApplication.activities.includesTakingAwayTrees:True
firewoodCollectionApplication.activities.includesTowingTrees:True
firewoodCollectionApplication.activityOccursDuringAFirewoodCollectionSeason:True
firewoodCollectionApplication.activityOccursInFirewoodCollectionArea:True
firewoodCollectionApplication.collectFirewood:True
firewoodCollectionApplication.collectionAreaIsWithin20MetresOfAWatercourse:False

Then expect

Nothing asserted — this scenario has no expectations.

Bringing in heavy equipment

Given these inputs

@id:zT9pVDAAFuOZP6Km9V7VpRR1
@type:Regsoft
@name:Bringing in heavy equipment
firewoodCollectionApplication.activities.includesBringingHeavyMachineryIntoArea:True
firewoodCollectionApplication.activities.includesCuttingTrees:True
firewoodCollectionApplication.activities.includesOperatingHeavyMachinery:False
firewoodCollectionApplication.activities.includesTakingAwayTrees:True
firewoodCollectionApplication.activities.includesTowingTrees:False
firewoodCollectionApplication.activityOccursDuringAFirewoodCollectionSeason:True
firewoodCollectionApplication.activityOccursInFirewoodCollectionArea:True
firewoodCollectionApplication.collectFirewood:True
firewoodCollectionApplication.collectionAreaIsWithin20MetresOfAWatercourse:False

Then expect

Nothing asserted — this scenario has no expectations.

Nomination Form—Collection of Firewood for Domestic Use

2 scenario(s) · rules dXkCOsFfcHIVSO4cwwMqrm1j→dXkCOsFfcHIVSO4cwwMqrm1j
Without a nomination, personal details are not required

Given these inputs

@id:EiJcbujmop3RxyP8ogpFoMjX
@type:Regsoft
@name:Without a nomination, personal details are not required
firewoodCollectionApplication.nominatePersonToActOnOnesBehalf:False

Then expect

Nothing asserted — this scenario has no expectations.

With nomination, personal details are required

Given these inputs

@id:E0FD9MO2KD6mLHi0JKuP1trV
@type:Regsoft
@name:With nomination, personal details are required
firewoodCollectionApplication.nominatePersonToActOnOnesBehalf:True

Then expect

Nothing asserted — this scenario has no expectations.

07

Observations

1 · Applicant is missing a “family name” requirement

The applicant's given name is required twice and family name is never required — a likely copy-paste slip (the Nominee correctly requires both). An applicant could satisfy the form without ever giving a family name.

2 · An unused conclusion: “tow or wench”

The data model defines a rules-worked-out value tow or wench that no rule ever sets — an apparent leftover with no effect.

3 · Test scenarios assert nothing

All six test scenarios supply inputs but declare no expectations, so nothing is actually verified — see Test cases above for what to add.

Glossary

Permitted / Forbidden
The status a rule attaches to an activity. “Forbidden” means it is an offence; “Permitted” means allowed.
The golden rule
Rules run top-to-bottom; when two apply to the same thing, the later one wins.
Watercourse exception
Cutting/taking away trees within 20 m of a watercourse is forbidden even where collecting would otherwise be permitted.