Add a question
The register grows by questions, not by datasets. If you have tried to find something out about an Australian government and could not, that failure is evidence — and right now nobody is collecting it.
The most useful contribution
A question you actually asked, and what happened when you tried to answer it.
Not a wish, not a complaint about government generally. A specific thing you wanted to know, the places you looked, and what you found or did not. That record is the raw material this whole register is made of, and it exists nowhere else.
The second most useful: telling us a gap is not real. If data is published and we have recorded it as missing, saying so improves the register more than a new entry would. A false gap is the failure mode most likely to get this project dismissed by the people best placed to fix the real ones.
The files
Everything is plain TOML in data/. One file per entity.
data/
jurisdictions/ federal, states, territories, councils
publishers/ bodies that hold public information
datasets/ what has been assessed, and how usable it is
questions/ what people want to know — the heart of it
regimes/ FOI and access-to-information regimes
A question looks like this:
id = "council-consultant-spend"
question = "How much did my council pay each consultant last year?"
answerability = "no"
topic = "spending"
jurisdiction = "brisbane"
datasets = ["bcc-annual-report"]
blockers = ["not_published", "aggregated", "format"]
why_it_matters = "..."
workaround = "..."
confidence = "estimate"
Then build. It validates everything and tells you what is wrong:
python build/render.py
The build fails on unknown vocabulary values and broken references. It
warns when a question is not fully answerable but records no blocker, when a
question has no why_it_matters, and when a dataset has never been checked. Those
warnings are published on the verification page.
The rules
Record what is available, not what ought to be. The register describes the
state of the world. Argument belongs in why_it_matters, where it is clearly
labelled as argument.
Always name the blocker. A gap with no stated obstruction is a complaint. A
gap with format recorded against it is a request someone can act on. If you do
not know why the data is unavailable, say unknown rather than guessing at
motive.
Treat genuine constraints as genuine. Where release would identify
individuals, record identifiable and say so plainly. Where a contract restricts
disclosure of its own terms, record commercial. The credibility of every other
entry depends on these being honest. The useful contribution in those cases is
describing what could safely be published — an aggregation that protects
individuals, or the delivery figures that a confidentiality clause over a price
schedule does not actually cover — and still answers the question.
Date every availability claim. Set last_checked when you have actually
opened the data yourself. Leave it empty if you have not. Availability changes
without notice and an unchecked entry may simply be wrong.
Record the wins too. Questions with a yes verdict matter. A register that
only catalogues failure reads as a campaign and gets discounted accordingly — and
the cases where Australian government transparency genuinely works are the
benchmark every gap is measured against.
Do not name individual officers. Publishing decisions are institutional. This project gets nowhere useful by treating the person who answered the phone as the problem.
What we would most like next
- Questions from outside Canberra. Council-level gaps are the widest and the least documented, and they are where most people actually run into this.
last_checkeddates. Open a dataset we have listed, confirm it is what we say, and put a date on it. Unglamorous and worth more than new entries.- Any question where the answer is
yes. Especially at council level, where we currently assume the worst more often than we have verified it. - The same question asked of several bodies. One question answerable in Queensland and not in New South Wales is far more powerful than either fact alone, because it removes every excuse except the decision itself.
