Halantir

The console

A question compiles. It is never answered from memory.

Named adapters, one named filter, named joins, and a coverage figure that drops when the record is thin. The same string produces the same compilation on the server and in the browser.

The compiled join readout

Halantir console · v1

Ready

  1. Compile adapters resolved
  2. Adapter awards
  3. Adapter bidders counted per lot
  4. Adapter category_cpv 45233142
  5. Adapter peer_bands
  6. Filter place.band = 30,000–60,000 · time = 2019–2026 · procedure = open
  7. Join awards × bidders ON lot.id
  8. Join awards × peer_bands ON place.band
  9. Notes a single bid is a reading, never a finding
  10. Coverage 86%
Edit this compilation
View the request
GET /rest/v1/v1_lot_bidders
  ?select=place_band,category_cpv,reading,unit,year,procedure,source_url,fetched_at
  &category_cpv=eq.45233142
  &place_band=eq.30000-60000
  &year=gte.2019&year=lte.2026
  &procedure=eq.open
Accept: application/json
Prefer: count=exact

2.5 Illustrative figure, compiled from a pattern.

bidders per lot · road maintenance · 2026

One square is one commune of the same size. The larger square asked.

EU single market scoreboard · single bid line

Every commune of the same size, one square each.

Communes that already fixed it

  • Skellefteå · SE 2.9 bidders per lot Procedure changed to open, 2023
  • Kristiansand · NO 2.7 bidders per lot Award criteria republished, 2025
  • Hafnarfjörður · IS 2.6 bidders per lot Requirements simplified, 2026
Three peers, three countries, on one layer.

The record answers. The peer is never asked.

Illustrative compilation

Source
Award notices · bidders per lot · population bands
Pattern
Bidder counts against the same category and band
Method
Counted per lot, never per notice

The index

Eleven shapes of question, and a twelfth it will not take.

Every chip above is a real compilation. Press one and the readout prints the adapters it resolved, the filter it applied and the joins it ran.

  1. 01

    Is one bid normal for road maintenance in a commune of forty thousand

  2. 02

    What did every commune of forty thousand pay for a sports hall

  3. 03

    Who already built a school extension in a commune of twenty five thousand

  4. 04

    Which communes of forty thousand get more bidders for waste collection

  5. 05

    What does the 2028 water statute cost a commune of sixty thousand

  6. 06

    Where did the state transfer for school buildings go

  7. 07

    What do communes of forty thousand pay for a school meal

  8. 08

    What obligation comes into force in 2028 for a commune of forty thousand

  9. 09

    Who already repaired their water network in a commune of sixty thousand

  10. 10

    Where does the state transfer for elderly care land in a commune of thirty thousand

  11. 11

    How often is software bought with no competition in a commune of forty thousand

  12. 12

    Rank the communes by debt and name who is responsible

The refusals

Eight questions the record will not take, and what each would need.

A refusal is built with the same care as an answer. It is the proof that the join does not exist, rather than a policy saying it will not be used. The rule behind each one is law 2, and the field it reads is at the detectors.