wedgetail.md

Wedgetail

A sovereign Australian civic dashboard on an append-only, event-sourced spine — crime, planning applications, representatives, federal votes, and transport disruptions resolved to any Victorian suburb. Pointers are the product: it never adjudicates.

PythonPostgreSQLEvent sourcingAlembicDockerOpen civic data (VIC)Agent-swarm development441 tests

What it is

Wedgetail turns Australia's scattered public data — crime statistics, development applications, parliamentary votes, representative records, transport disruptions — into one dashboard that answers a simple question: what is actually happening around this suburb? Each data domain is a self-contained pack on a shared, jurisdiction-agnostic spine; packs resolve to any Victorian suburb today, and the spine doesn't care which state comes next.

The name is the design brief: a wedgetail watches everything and touches nothing.

The invariants are the product

Most civic-data projects die by editorialising. Wedgetail's rules are structural, not aspirational — each one is enforced in code and locked in an append-only decision register:

  • Never adjudicate. No truth labels, no safe/dangerous verdicts, no invented taxonomies. Corroboration can brighten a record; it can never bless one. The dashboard points at sources — it does not referee them.
  • Un-doxxable by construction. No person-identifying fields exist in any schema. Locations geofuzz to street-cell minimum, and finer resolution is gated behind real k-anonymity density — not a policy, a serve-path precondition.
  • Append-only, event-sourced. State is a fold over events, never a stored column. Even a takedown is an event, so the audit trail survives its own corrections.
  • Source tiering served raw. Every record carries its source tier, and lower tiers are structurally barred from feeding anything that looks like a score.
  • Sovereign front-end. Zero third-party requests, enforced by a matcher in the test suite. The page you read is served entirely by the machine you asked.
  • Licence gates as structure. Data sources with restrictive licences sit behind an eval-mode flag that a demo cannot casually flip. A gate you can weaken for a demo isn't a gate.

How it's built

Wedgetail is also an experiment in agent-swarm development with adversarial review. Every slice runs brainstorm → spec → a four-tier review of the spec itself (reviewer, devil's-advocate, security, test-isolation) → plan → fresh-agent TDD build → the same four tiers on the build. Findings either block the merge, land, or become named backlog items with explicit triggers — nothing is silently dropped. The repo carries a locked decision register, a security backlog with fire conditions, and 441 tests behind a single merge gate.

Status

Active development, pre-launch. The current phase is deliberately unglamorous: grounding checks on live data feeds and honest audits of what the dashboard is actually useful for, before more code earns the right to exist.

Share this project

Share: