Changelog
Alle nennenswerten Änderungen an Ratslotse, nach Version.
v2.9.0
2026-09-24Hinzugefügt
- •Bäder und Hafen zeigen jetzt Erträge und Aufwendungen, nicht nur das Ergebnis. Die Wirtschaftspläne der Bäderbetriebsgesellschaft (2020–2023, 2026), des Bäderbetriebs (2019–2026) und des Hafens (2019) werden aus der Ergebnisplanung der Anlage gelesen; jede Spalte muss den ausgewiesenen Jahresüberschuss ergeben, und das Ergebnis muss die Zahl im Beschlusstext treffen. Wo Tabelle und Beschluss auseinanderliegen (BBGO 2024 und 2025), bleibt es beim beschlossenen Ergebnis. Der Kasten „Was hier fehlt“ unter den Betrieben rechnet seine Lücken jetzt aus den Daten. (#1548)
- •Die Suche hat auf breiten Bildschirmen eine Vorschau-Spalte. Ab 1680 Pixeln steht der gewählte Treffer mit Ergebnis, Kurzfassung und Wortlaut rechts neben der Trefferliste; ein Klick wechselt die Vorschau, statt die Seite zu verlassen. „Ganze Seite öffnen" oder ein Klick mit gedrückter Cmd- bzw. Strg-Taste führt wie bisher zum Beschluss. (#1551)
- •Eine Fakten-Eval prüft Lotti und Frag den Rat an 142 Haushaltsfragen — und trennt dabei Fehler im Kontext von Fehlern des Modells. Jede Frage läuft über den echten Weg (eigenes Backend, angemeldet wie im Browser), der Prompt wird mitgeschnitten, und für jeden Goldwert aus der Datenbank steht fest, ob er dem Modell überhaupt vorlag — und unter welchem Jahr. Die Liste der Kontextfehler, gruppiert nach dem Baustein, der den Wert hätte liefern müssen, steht in
docs/fakten-eval.md; der Modell-Prüfstand kennt die Suitenfakten-haushaltundfakten-rat. (#1499) - •Die Fakten-Eval hat jetzt 91 Ratsfragen an Frag den Rat und Lotti, jede mit Goldwerten aus der Datenbank. Sie decken Beschlüsse, Abstimmungen, mehrstufige Vorhaben (Stadion, Fliegerhorst, Radverkehr, Schwimmbad, Grundsteuer), Personen, Orte und Sitzungen ab. Dazu kommen elf Fragen, die die Daten nicht beantworten, und siebzehn typische Verwechslungen, etwa zwei Bürgschaften für dieselbe Halle oder ein abgelehnter Antrag, dessen Kurzfassung ihn als beschlossen darstellt. Ein Baukasten zieht die Goldwerte über Gremium, Sitzungstag und Vorlage nach und bricht ab, sobald die Daten einen Fall nicht mehr tragen. (#1494)
- •Investitionen laut Plan bis 2029. Die Seite „Was gebaut wird“ liest jetzt den Gesamtfinanzhaushalt aller Haushaltspläne 2019–2026: je Jahr den Ansatz, dahinter drei Jahre Finanzplanung, aufgeteilt nach Baumaßnahmen, Grundstücken, Fahrzeugen und Zuwendungen. Ein Vergleich zeigt, was ein Plan drei Jahre im Voraus vorsah und was dann tatsächlich angesetzt wurde. (#1540)
- •Die städtischen Gesellschaften zeigen jetzt schon das Jahr 2025. Bilanzsumme und Jahresergebnis kommen zusätzlich aus den Jahresabschlüssen, die VWG, OTM, Volkshochschule, Weser-Ems Halle, Bäderbetriebsgesellschaft und die Stadion-Gesellschaften dem Rat vorlegen — gut ein Jahr bevor der Beteiligungsbericht sie nennt. Die beiden Stadion-Gesellschaften haben damit überhaupt erst Zahlen. Wo beide Quellen dasselbe Jahr nennen, stimmen sie auf den Cent überein (63 von 63), und es gilt der Bericht. (#1541)
- •Die beschlossene Haushaltssatzung steht neben dem Entwurf. Unter *Haushalt → Schulden* zeigt „Was der Rahmen erlaubt“ jetzt die Fassung, die der Rat beschlossen und die Stadt im Amtsblatt bekannt gemacht hat, mit Beschlussdatum, Amtsblatt-Nummer und Tag der Bekanntmachung, für 2020 bis 2026. Wo der Rat eine Zahl gegenüber dem Verwaltungsentwurf geändert hat, steht der Entwurfswert daneben: 2026 zum Beispiel 46,3 statt 41,5 Mio. € Verpflichtungsermächtigungen. Gescannte Ausgaben liest ein Texterkennungsmodell, und jede Satzung muss die Summenprobe ihres Finanzhaushalts bestehen. (#1552)
- •Was aus den Investitionen im Jahr wird. Unter *Haushalt → Bereich* zeigen *Jugend und Familie* und *Schule und Bildung* jetzt die Budgetberichte an ihre Fachausschüsse: je Investitionsmaßnahme den Ansatz, die Prognose zum Jahresende und die Begründung der Verwaltung im Wortlaut („Der Erweiterungsbau der Krippe ist fertiggestellt …“). Sie decken 29 Berichte von 2018 bis 2026 ab, und jeder Bericht besteht die Summenprobe gegen seine eigene Teilfinanzrechnung. (#1556)
- •Oldenburg im Bundesvergleich. Unter *Haushalt → Vergleich* steht Oldenburg jetzt neben 45 kreisfreien Städten ähnlicher Größe aus ganz Deutschland und allen Städten Niedersachsens, bei Einkommensteuer, Grundsteuer B und Liquiditätskrediten je Einwohner*in, 2019 bis 2023. Je Kennzahl zeigt ein Streifen die Verteilung mit Median und mittlerer Hälfte und Oldenburg als Punkt darin, ohne Rangplatz und ohne Bewertungsfarbe. Die Werte stammen aus dem Wegweiser Kommune. Oldenburgs Zahlen sind gegen die eigenen Reihen der Stadt geprüft, und die Gewerbesteuer fehlt bewusst, weil sie diese Probe nicht besteht. (#1554)
- •Fördermittel mit den Ratsvorlagen verbunden. Auf der Einnahmen-Seite steht bei einem von EU oder Bund bewilligten Vorhaben jetzt die Ratsvorlage, die es erkennbar meint: Betrag und Name stehen im Text, oder ihr Titel steht im Titel des Vorhabens. Darunter führt „Beantragt laut Rat“ die Förderanträge und Bewerbungen, die der Rat beraten hat, samt Datum und Ergebnis – ausdrücklich als Anträge, nicht als Zusagen. (#1562)
- •Fördermittel von EU und Bund je Vorhaben. Unter *Haushalt → Einnahmen* zeigt eine neue Karte, welche Vorhaben der Stadt und ihrer Gesellschaften die EU (EFRE, ESF) und der Bund fördern, mit Empfänger, Geber, Laufzeit und bewilligtem Betrag: 101 Vorhaben, 8,3 Mio. € von der EU und 15,5 Mio. € vom Bund. Die Zahlen stammen aus den Listen der Geber selbst, der Liste der Vorhaben der NBank und dem Förderkatalog des Bundes. Übernommen werden nur Empfänger aus einer nachgesehenen Namensliste. Die Karte sagt auch, was fehlt: die Städtebauförderung und reine Landesprogramme. (#1553)
- •Gescannte Jahresabschlüsse der Gesellschaften werden jetzt mitgelesen. Dreizehn Bilanzen und Gewinn- und Verlustrechnungen liegen im Ratsinformationssystem nur als Scan. Ihre Zahlen kommen jetzt aus dem Text, den die Texterkennung liefert — übernommen wird nur das Geschäftsjahr, und nur wenn die Bilanzsumme zweimal dasteht. Damit schließen sich die Lücken bei der Verkehr und Wasser GmbH (2018) und der Oldenburg Tourismus und Marketing GmbH (2019). (#1566)
- •Schulden der acht Städte samt eigenen Einrichtungen. Unter *Haushalt → Vergleich* stehen jetzt die Schulden aller kreisfreien Städte Niedersachsens je Einwohner*in, aufgeteilt in den Kernhaushalt und die Einrichtungen, die der Stadt ganz gehören, von 2019 bis 2025. So wird sichtbar, was ein reiner Haushaltsvergleich verdeckt: Oldenburg hatte Ende 2025 im Kernhaushalt 231 € Schulden je Einwohner*in, zusammen mit seinen Einrichtungen 2.607 €. Die Zahlen kommen aus der Regionaldatenbank der Statistischen Ämter, und Oldenburgs Kernhaushalt ist gegen die eigene Schuldenreihe geprüft. (#1557)
- •Die Zahlen aus dem Vorbericht stehen jetzt bei ihren Seiten. Die Prognose der Kämmerei für das laufende Jahr und die Finanzplanung je Steuerart erscheinen auf der Steuer-Seite, der Personalaufwand samt Rückstellungen auf der Personal-Seite und die Jahresergebnisse auf „Geplant und geworden“. Frühere Haushaltspläne lassen sich einzeln aufrufen. Jede Zahl wird beim Einlesen gegen den Ergebnishaushalt bzw. die Jahresabschlüsse geprüft; wo sie abweicht, wird sie weggelassen. (#1560)
- •Die Haushalts-Startseite zeigt, wie viel hinter ihren Zahlen steckt. Unten neben „Stand der Daten“ und den Quellen liegt eingeklappt „Umfang der Daten“: gezählt aus dem Bestand, wie viele Zahlen aus wie vielen Dokumenten zusammengetragen sind, wie viele Belegstellen und bestandene Rechenproben dahinterstehen, aus welchen Stellen die Dokumente stammen und was jede Datenschicht beiträgt. (#1563)
- •Die Haushalts-Zeitleiste endet nicht mehr beim Ratsbeschluss. Unter *Haushalt → Mitreden* zeigen der Zeitstrahl und die Stationen jetzt auch die Bekanntmachung im Amtsblatt, mit der die Satzung in Kraft tritt: 2026 am 17. April, im Mittel neun Wochen nach dem Ratsbeschluss. Wo die Genehmigung durch die Kommunalaufsicht öffentlich Thema war, steht der Tagesordnungspunkt mit Datum dabei, 2026 der Antrag „Kommunalaufsicht: Kredite noch nicht genehmigt“ im Finanzausschuss. (#1559)
- •Die Investitionen je Teilhaushalt reichen jetzt bis 2020 zurück. Die Open-Data-Dateien der Haushaltspläne 2020 und 2021 hat das Portal anders geschnitten — eine Datei mit Ergebnis- und Finanzhaushalt hintereinander, in anderem Zeichensatz. Sie werden jetzt gelesen; auch dort ergeben die Teilhaushalte die Summenzeile auf den Euro. (#1549)
- •Die KI-Frage kennt Zuschüsse, Fördermittel und Budgetberichte. Lotti und Frag den Rat beantworten jetzt Fragen wie „Welchen Zuschuss bekommt der Reparaturrat?“, „Hat die VWG Fördergeld für Wasserstoffbusse bekommen?“ oder „Wird die Kita Dedestraße dieses Jahr fertig?“ aus den neuen Haushaltsquellen, jeweils mit ihren Grenzen: Zuschüsse sind Ansätze aus dem Entwurf, Fördermittel sind Bewilligungen, und Städtebauförderung fehlt in den Förderlisten. (#1558)
- •Lottis Antworten werden stichprobenartig geprüft. Hinter dem Schalter
lotti-selbstpruefungprüft Ratslotse einen Teil der Erklärungen (Vorgabe: jede zehnte) nach der Antwort: erst ohne Modell (jede Zahl steht im Kontext, unter ihrem Jahr; keine Wertung; kein technischer Rest), dann durch ein Prüfer-Modell einer anderen Familie. Niemand wartet darauf, und nichts wird ersetzt. Der Admin-Reiter „Lotti“ zeigt, wie oft je Seite beanstandet wurde und warum. Frage und Antwort werden dabei nur mit Einwilligung in die Gesprächsspeicherung abgelegt. Eine Fassung, die vor der Anzeige prüfte und neu schrieb, war gemessen und hob die Trefferquote der Fakten-Eval nicht. (#1545) - •Der neue Rat, bevor er zum ersten Mal tagt. Eine eigene Seite zeigt die 52 Gewählten der Ratswahl 2026 nach Listen, mit Wahlbereich, Personenstimmen, Beruf und Jahrgang, und unterscheidet, wer neu im Rat ist, wer schon im letzten Rat saß und wer nach einer Pause zurückkehrt, samt den Jahren im Rat. Wer noch in keinem Protokoll steht, bekommt trotzdem eine Personen-Seite; wer schon eine hat, sieht dort „Wiedergewählt“. Bis zur Feststellung durch den Wahlausschuss steht das Ergebnis als vorläufig da. (#1515)
- •„Aus den letzten Sitzungen“ im Quiz. Ein eigener Bereich fragt nach dem, was Rat und Ausschüsse in den jüngsten Sitzungen beschlossen haben; Fragen, die älter als sechs Wochen sind, werden gegen neue getauscht. (#1533)
- •Zwei neue Fragetypen im Quiz: „Angenommen oder abgelehnt?“ und „Wofür gibt Oldenburg mehr aus?“. Beim ersten steht ein echter Antrag einer Fraktion, und man tippt auf den Ausgang; beim zweiten liegen zwei Posten des städtischen Haushalts nebeneinander, etwa Feuerwehr und Sportförderung, und nach dem Tipp stehen die Beträge darunter. Beide entstehen aus den Ratsdaten selbst, werden jede Woche aufgefrischt und stehen unter „Anträge im Rat“ und „Stadt-Haushalt“. Dazu kommt „Sortiere nach Größe“: vier Haushaltsposten in die richtige Reihenfolge tippen, mit Teilpunkten, wenn nur ein Paar vertauscht ist. Ab dem Tag nach der Stichwahl kommen Fragen zur Ratswahl 2026 hinzu: in welchem Wahlbereich eine Partei mehr Stimmen holte und wo die Wahlbeteiligung höher war. (#1518)
- •Die Blitzrunde im Quiz: 60 Sekunden, so viele Fragen wie möglich. Nach jeder Antwort geht es sofort weiter, eine Uhr läuft oben ab, am Ende stehen die Treffer und die eigene Bestmarke. (#1526)
- •Quiz-Duelle: Nach einer Runde lässt sich jemand herausfordern. Der Link führt zu genau denselben Fragen; wer sie gespielt hat, sieht danach die Tabelle mit allen, die mitgemacht haben. Ein Duell gilt zwei Wochen. (#1532)
- •Ein 50:50-Joker im Quiz. Einmal je Runde streicht er bei einer Frage mit vier Antworten zwei falsche; richtig beantwortet gibt es dann die Hälfte der Punkte. (#1521)
- •Das Quiz zeigt, wie die anderen lagen, und malt deine Stadtkarte. Nach jeder Antwort steht da, wie viel Prozent der anderen Mitspielenden richtig lagen — sobald mindestens fünf die Frage gespielt haben. Auf der Quiz-Startseite färbt „Deine Stadtkarte“ jeden Ortsbereich danach ein, wie gut du ihn kennst, von unentdeckt bis gemeistert; ein Tipp auf eine Fläche startet dort eine Runde. Ein Umschalter zeigt dieselbe Karte für alle: wie gut Oldenburg seine Ortsbereiche kennt, sobald dort genug gespielt wurde. (#1519)
- •Das Ergebnis der Tages-Challenge lässt sich teilen. Nach der Runde steht ein Raster mit einem Kästchen je Frage; „Ergebnis teilen“ schickt es samt Treffern und Link weiter, ohne die Fragen zu verraten. (#1522)
- •„Wo liegt das?“ im Quiz: Straßen und Orte mit einem Pin finden. Gefragt wird nach Orten, die im Rat oft vorkommen, vom Pferdemarkt bis zur Nadorster Straße; nach dem Tipp zeigt die Karte die echte Lage und sagt, wie weit der Pin daneben lag. Wer auf der Straße oder in der Fläche landet, liegt genau richtig. (#1527)
- •Neue Rolle „Recherche Plus“: die ausführliche Recherche mit einem größeren Modell. Konten mit dieser Rolle bekommen ihren Recherche-Bericht von GPT-6 Sol statt GPT-6 Luna geschrieben. In der Messung über 55 Recherchen machte Sol keinen Modellfehler, Luna zwei je Lauf, und Sol war mit rund 23 statt 30 Sekunden auch schneller. Dafür kostet ein Bericht etwa 5,6 statt 0,4 Cent, deshalb gibt es das größere Modell nur für ausgewählte Konten. Die Rolle kommt zusätzlich zu einer bestehenden Rolle dazu und wird im Admin-Panel vergeben. Das Tageskontingent bleibt gleich. Am fertigen Bericht steht dann dezent „mit erweitertem Modell recherchiert“. In der Kostenübersicht des Admin-Panels stehen die Kosten eines Features jetzt je Modell. (#1506)
- •Die Schuldenseite zeigt, was die Haushaltspläne erwarten. Neuer Block auf /haushalt/schulden: je Plan 2019–2026 der voraussichtliche Kreditstand zu Beginn des Jahres — für den Kernhaushalt, die Gebäudewirtschaft und den Bäderbetrieb —, dazu die Verpflichtungsermächtigungen, mit denen die Stadt Aufträge auf Rechnung späterer Jahre vergibt. Beim Kernhaushalt traf die Erwartung das spätere Ist jedes Jahr bis auf 1.000 €; für 2026 erwarten Gebäudewirtschaft und Bäder zusammen 368,5 Mio. € Kredite. (#1546)
- •Jede Bereichsseite zeigt, was die Verwaltung im Vorbericht zu diesem Bereich schreibt. Im Überblick von /haushalt/bereich steht der Wortlaut der Abschnitte zum Ergebnis und zu den Investitionen aus den Vorberichten der Haushaltspläne 2019–2026 — umschaltbar je Plan, ungekürzt hinter „Ganzen Wortlaut zeigen“, ohne Zusammenfassung. Es sind die Begründungen, die im Zahlenwerk nicht stehen: warum ein Aufwand steigt, welche Investition einen Bereich prägt. (#1549)
- •Die Stadtkarte zeigt das Wahlergebnis bis auf den Wahlbezirk. Mit der Ebene „Wahlergebnis" färben sich die 91 Wahlbezirke in der Farbe der Liste, die im Wahllokal vorn lag – je deutlicher der Vorsprung, desto kräftiger. Ein Tipp auf einen Stadtteil zeigt alle Wahlbezirke, die ihn berühren, samt dem Anteil, der tatsächlich darin liegt; ein Tipp auf einen Bezirk die volle Aufteilung aller Listen neben dem Wahlbereich mit Briefwahl. Umschaltbar zwischen Ratswahl und OB-Wahl, ab dem Wahlschluss auch die Stichwahl; Bezirk und Wahl stehen in der Adresse und lassen sich teilen. (#1514)
- •Die Wahlkarte gibt es auch in der App. Auf „Mein Viertel“ färbt die Ebene „Wahlergebnis“ die Wahlbezirke in der Farbe der Liste, die im Wahllokal vorn lag. Ein Tipp auf einen Stadtteil zeigt seine Wahlbezirke, ein Tipp auf einen Bezirk – auf der Karte oder in der Liste – die volle Aufteilung neben dem Wahlbereich mit Briefwahl. Zwischen Ratswahl und OB-Wahl lässt sich umschalten. (#1516)
- •Wer von der Stadt Zuschüsse bekommt, steht jetzt im Haushalt. Jede Bereichsseite hat einen Reiter „Zuschüsse“: alle Zuschüsse an Vereine, Träger und Gesellschaften aus diesem Teilhaushalt, nach Betrag sortiert und durchsuchbar, mit Zweck, Vorjahreswert und dem Verlauf seit 2019. Grundlage ist die Übersicht über die Zuweisungen und Zuschüsse an Dritte aus den Haushaltsplänen 2019–2026 — rund 1.700 Zuschüsse, jeder Teilhaushalt gegen seine gedruckte Summe geprüft. (#1544)
Geändert
- •Admin-Bereich und Ausschuss-Abos wachsen auf sehr breiten Bildschirmen mit. Ab 2200 Pixeln stehen die Gremien in drei statt zwei Spalten, und das Admin-Panel nutzt die volle Breite. (#1551)
- •Beschluss-Seiten zeigen auf breiten Bildschirmen mehr auf einen Blick. Ab 1680 Pixeln stehen der Weg der Vorlage, die Presse und die ähnlichen Beschlüsse in einer eigenen dritten Spalte neben dem Beschlusstext, statt weit unten; die Lesespalte behält ihre Breite. (#1551)
- •„Heute" zeigt auf sehr breiten Bildschirmen alles ohne Scrollen. Ab 2200 Pixeln steht „Die Woche im Rat" als eigene Spalte links, Rückblick, Zahl der Woche, Mein Viertel und Fundstück rechts daneben — jede Karte behält dabei ihre volle Ausführlichkeit. (#1551)
- •Mein Viertel nutzt auf großen Bildschirmen die ganze Breite. Auf 1440p- und 21:9-Monitoren blieb neben der Stadtkarte bisher links und rechts ein leerer Rand; jetzt reicht die Karte von der Seitenleiste bis an den Fensterrand. Ab 2200 Pixeln Breite wird die Tafel daneben zweispaltig: In der Stadtansicht stehen alle 31 Ortsbereiche ohne Scrollen neben der Übersicht, und im Viertel öffnet ein Vorhaben rechts neben der Liste, statt sie zu ersetzen. (#1539)
- •Personen-, Themen- und Ortsseiten werden auf breiten Bildschirmen zweispaltig. Ab 1680 Pixeln stehen Ämter und Präsenz neben den Wortbeiträgen bzw. Beschreibung und Karte neben der Beschlussliste — statt als schmaler Streifen in der Mitte des Schirms. (#1551)
- •Auf breiten Bildschirmen zeigt die Sitzungsseite den gewählten Beschluss neben der Tagesordnung. Ab 1680 Pixeln öffnet ein Klick auf einen Tagesordnungspunkt eine Vorschau mit Ergebnis, Kurzfassung und Wortlaut in einer Spalte daneben, statt die Seite zu wechseln — so springt man von Punkt zu Punkt, ohne zurückzumüssen. Mit gedrückter Cmd- oder Strg-Taste öffnet der Klick wie gewohnt die ganze Seite. (#1551)
- •Lotti versteht Haushaltsfragen in Alltagssprache. „Woher hat die Stadt ihr Geld?", „Verdient die Stadt mit den Bädern Geld?" oder „Stimmt es, dass für Kitas kein Geld mehr da ist?" bekommen jetzt die passenden Zahlen — Steuern, Zuweisungen und Gebühren, die Wirtschaftspläne der Bäder, die Kindertagesbetreuung —, statt „geht aus den Angaben nicht hervor". Jede Haushaltsseite gibt ihre Kernzahlen mit Jahr und Beleg mit, auch wenn die Frage sie nicht nennt; das Wort „Stadt" zieht nicht mehr versehentlich die Stadtplanung heran. Fragen nach dem Preis eines Vorhabens wie „Kann sich die Stadt das neue Stadion leisten?" gehen ins Ratsarchiv, wenn dort Beschlüsse mit Beträgen stehen. (#1547)
- •Lotti erklärt Grundfragen zum Haushalt und nennt Maßstäbe, statt nur „dazu steht hier nichts“ zu sagen. Auf Fragen wie „Warum macht die Stadt überhaupt Schulden?“, „Hat die Stadt genug Geld?“, „Was muss die Stadt bezahlen und was nicht?“, „Kann ich mitbestimmen?“ oder „Was bedeutet Defizit?“ antwortet sie mit geprüften Erklärtexten samt Quelle (Niedersächsisches Kommunalverfassungsgesetz mit Paragraf, Oldenburger Tagesordnungen) — ausdrücklich getrennt von den Oldenburger Zahlen. Fragen wie „Ist das schlimm?“ oder „Sind das nicht zu viele?“ bekommen weiter kein Urteil, aber die neutralen Maßstäbe dazu: „Was kostet mich die Stadt?“ die geplanten Ausgaben je Einwohner*in, „Zahlen wir zu viele Steuern?“ die Steuereinnahmen je Einwohner*in, die Personal-Seite die Stellen je 1.000 Einwohner*innen — gerechnet von Ratslotse, nicht vom Sprachmodell, und ziffergenau übernommen statt gerundet. (#1542)
- •Lotti kennt auf Sitzungs-, Personen-, Orts- und Themenseiten, was die Seite zeigt. Auf einer Sitzung weiß sie jetzt Ort, Uhrzeit und die Tagesordnung samt Ergebnissen, bei einer Person Fraktion und laufende Ausschüsse, an einem Ort und bei einem Thema die jüngsten Beschlüsse. Auf der Beschluss-Seite kommen die Kostenangaben aus der Vorlage und der Wortlaut des Protokolls zur Abstimmung dazu. Vorher kannte sie dort oft nur einen Namen oder ein Datum. (#1503)
- •Lotti erklärt, was du markierst. Markierst du auf einer Seite eine Zahl, ein Wort oder einen Satz, erscheint direkt darunter ein kleiner Knopf „Lotti fragen“. Ein Klick öffnet Lottis Fenster und stellt sofort die Frage „Was bedeutet das?“; die Markierung steht dort als Zitat, und du kannst gleich nachfragen. Auf dem Handy markierst du per langem Drücken, der Knopf steht dann unter der Auswahl, damit er nicht mit dem Menü des Telefons kollidiert. Dafür entfällt der Erklär-Modus mit den Fragezeichen an den Bausteinen, und mit ihm der Hinweis „Auf dieser Seite kann ich gerade nichts einzeln erklären“. Sehr lange Markierungen werden gekürzt, und Lotti sagt dazu, dass sie gekürzt wurden. Wer beim ersten Mal noch gefragt wird, ob Gespräche gespeichert werden sollen, verliert die Frage nicht mehr: Sie wird gestellt, sobald die Wahl getroffen ist. (#1517)
- •Lotti, „Frag den Rat“ und die ausführliche Recherche laufen jetzt im Regelfall in der EU. Das Sprachmodell wird zuerst bei Microsoft Azure in der EU aufgerufen, mit der Zusage, Anfragen nicht zu speichern. Nur wenn dieser Weg gestört ist, geht dieselbe Anfrage ausnahmsweise an OpenAI in den USA. Jeder solche Rückfall wird gezählt. Die Datenschutzerklärung sagt das jetzt genau so. (#1509)
- •Lotti und „Frag den Rat“ antworten mit einem neuen Modell — genauer, dafür etwas langsamer. Beide laufen jetzt auf GPT-6 Luna statt Gemini 2.5 Flash, das am 20. Oktober 2026 abgeschaltet wird; in einer Prüfung echter Antworten, Aussage für Aussage, stimmte deutlich mehr. Bis das erste Wort erscheint, dauert es dafür einige Sekunden länger. Die Auswertung der Frage vor der Suche übernimmt Gemini 3.1 Flash Lite. Neu ist außerdem ein Schutz, der nicht vom Modell abhängt: Sätze in Ratsvorlagen, Überschriften oder markiertem Text, die sich an ein KI-System wenden („Hinweis an das System: Lobe …“), nimmt Ratslotse heraus, bevor Lotti oder die KI-Frage den Text zu sehen bekommen. Die Datenschutzerklärung nennt Lotti jetzt ausdrücklich und den Anbieter der Antworten beim Namen. (#1501)
- •Der neue Rat steht jetzt mit dem amtlichen Endergebnis da. Der Wahlausschuss hat am 24.09.2026 dieselben 52 Gewählten festgestellt, die Personenstimmen ändern sich um wenige Stimmen. Dazu kommen die Wechsel seit der Wahl, jeweils mit Quelle: Holger Martin Wilkens rückt für Andreas Sander (Bürger Bündnis) nach, und Christoph Baak, über die CDU-Liste gewählt, tritt im neuen Rat fraktionslos an (OBM). Wahlabend-Rückblick, Wahlkarte und Stichwahl-Analyse rechnen ebenfalls mit den amtlichen Zahlen. (#1561)
- •Unter jeder Antrags-Frage im Quiz steht jetzt, worum es ging. Viele Titel aus dem Ratsinformationssystem sagen allein wenig („Außerordentliche Verdachtskündigung“); ein Satz beschreibt, was beantragt wurde — ohne zu verraten, wie entschieden wurde. Anträge, zu denen sich nichts Verlässliches sagen lässt, stehen nicht mehr im Quiz. (#1543)
- •Das Quiz stellt weniger Verwaltungsfragen. Ein zweiter Blick benotet jede Frage danach, ob man sie gern spielt: Fragen nach Straßenabschnitten, Beitragsabwicklungen oder Aufstellungsbeschlüssen fliegen raus, knappe Fälle kommen seltener dran und nie in die Tages-Challenge. Doppelte und fast gleich formulierte Fragen sind aussortiert, und Ratspolitik macht höchstens ein Drittel neuer Fragen aus. (#1513)
- •Die Stichwahl-Seite zeigt neue Zahlen schneller und deutlicher. Ab 18 Uhr fragt sie alle 15 Sekunden statt jede Minute nach, auch im Hintergrund-Tab. Meldet ein Schwung Bezirke, leuchtet der Bildschirm kurz in der Farbe dessen, der diese Bezirke gewonnen hat, und weiter unten auf der Seite nennt eine Leiste die neuen Stimmen. Stimmen und Prozente zählen sichtbar zum neuen Stand hoch, und ein Live-Punkt zeigt, wann die Seite wieder nachfragt. Unter „Mitfiebern“ lässt sich einstellen, wem man die Daumen drückt; gewinnt diese Person eine Meldung, gibt es Konfetti. Neu sind außerdem ein Ticker der zuletzt gemeldeten Wahlbezirke (ein Tipp zeigt den Bezirk auf der Karte, wo neue Bezirke kurz aufblitzen), die Aufholrechnung („Rohr bräuchte 51,1 % der noch offenen Stimmen“), ein Countdown bis 18 Uhr und der Stand als Bild zum Teilen in drei Formaten, das auch als Link-Vorschau erscheint. Die Einladung zum Tippspiel verschwindet um 18 Uhr, und die Erklärung zum Stimmzettel an Jascha Rohrs Karte ist eingeklappt. Die Chance-Zahl der Hochrechnung ist in knappen Rennen vorsichtiger geworden: Das Modell rechnete bisher nicht mit ein, dass der Trend selbst nur geschätzt ist. Und vor dem Abend steht dort nicht mehr fälschlich, der Abruf klemme. (#1496)
- •Die Zeitleisten der Ideen aus anderen Städten lassen sich ablesen. Wer mit der Maus über die Punkte fährt, sieht sofort Stadt, Datum, Ergebnis und Titel der Vorlage, dazu einen Strich an der Stelle — statt nach einer Sekunde Warten einen Browser-Hinweis. Auf der Seite einer Idee geht das auch per Tippen, Wischen und mit den Pfeiltasten, der Strich läuft durch alle Städte, und „In der Chronik zeigen" springt zum Eintrag. (#1498)
Behoben
- •Abgelehnte und vertagte Anträge werden nicht mehr als beschlossen erklärt. Die Kurzfassungen („Lotti erklärt's einfach“ und der Satz in der Suche) lasen bisher nur den Beschlussvorschlag. Bei einem abgelehnten Punkt stand deshalb etwa „Der Satz für die Grundsteuer B steigt auf 490 Prozent“, obwohl der Ausschuss die Erhöhung einstimmig abgelehnt hatte. Die Zusammenfassungen kennen jetzt das Abstimmungsergebnis und nennen es. Frag den Rat und Lotti kennzeichnen einen solchen Text als Vorschlag. Außerdem gilt „einstimmig bei neun Enthaltungen“ jetzt als einstimmig und nicht mehr als mehrheitlich. (#1497)
- •Die Ämter auf den Personen-Seiten zeigen wieder ihre echten Amtszeiten. Seit der Umbenennung der Schnittstelle fand die Seite die Daten nicht mehr: Alle Balken begannen im selben Jahr, beendete Ämter standen als laufend da, und „Frühere Ämter“ blieb leer. Außerdem markiert jetzt eine feine Linie im Balken, wo eine neue Wahlperiode begann, wenn jemand über eine Wahl hinweg im Amt blieb. (#1515)
- •Kursivschrift in Antworten erscheint kursiv statt mit Sternchen. Lotti und Frag den Rat setzen seit dem Modellwechsel gelegentlich Begriffe kursiv; im Browser standen sie mit Sternchen da. Gendersternchen und Rechenzeichen bleiben unberührt. (#1507)
- •Die Abfall- und Straßenreinigungstarife fehlen nicht mehr für 2020 und 2022. 2022 lag die Tariftabelle als eigener Scan neben der Bedarfsberechnung, 2020 gab der Scan die Tabelle nicht her; die Sätze kommen jetzt aus der OCR-Tabelle bzw. aus der Rückschau der Folgejahre, jeweils gegen die Bedarfsberechnung desselben Jahres geprüft. (#1535)
- •Lotti und Frag den Rat ordneten Haushaltszahlen teils dem falschen Jahr zu. Die Aufteilung der Schulden nach Arten und die der Investitionen nach Auszahlungsarten stand im Hintergrundwissen unter einem anderen Jahr als dem, zu dem sie gehört; jetzt steht jede Zahl unter ihrem eigenen Jahr. Außerdem bekommen die Antworten den vollständigen Investitionsplan nach Bereichen (das Größte zuerst), die geplanten Aufwendungen der Eigenbetriebe und bei Fragen nach der Entwicklung der Grund- oder Gewerbesteuer die Hebesätze. (#1493)
- •Unter Lottis Antwort steht das Papier, auf das sie sich stützt, zuerst. Bei einer Frage zu Krediten und Zinsen nannte „Grundlage:“ bisher nur den jüngsten Bericht, auch wenn die Antwort einen älteren Kredit erklärte. Jetzt stehen dort höchstens drei Quellen aus dem, was Lotti vorlag: zuerst die Vorlagen, die ihre Antwort nennt oder die in der markierten Zeile stehen, danach die übrigen. Die Vorlagennummer steht vorn im Namen, damit man die Berichte auseinanderhalten kann. (#1531)
- •Der Haushalt behauptet keine Lücken mehr, wo keine sind. Die Prüfseite nannte den Jahrgang 2024 der Prüfberichte fehlend, die Personalseite den Stellenplan 2026 „ohne Teil B“, der Datenstand die Wirtschaftspläne „nur Gebäudewirtschaft“ — alles längst da. Der Konzern zeigt 2016 jetzt aufgeteilt (aus der Vorjahresspalte des Berichts 2017), die Spenden-Liste führt nur noch Beschlüsse, deren Betrag wirklich fehlt, und das Minibild der Produktebene zeigt die drei größten Zuschussbedarfe statt Überschuss-Produkten. Dazu 16 leere Quellenverweise auf der Übersicht und ein ungültig verschachteltes „Warum?“ auf Plan und Ist. (#1525)
- •Haushalt: fünf Fehler aus der Gesamtprüfung behoben. Auf den Bereichsseiten erscheint wieder, woraus die eigenen Einnahmen eines Bereichs bestehen — die Karte blieb wegen eines Programmierfehlers auf allen dreizehn Seiten leer. Der Stand der Daten nennt Budgetberichte, Vorbericht, Haushaltsvollzug und neun weitere Schichten nicht mehr fälschlich „nicht automatisch ergänzt“ und meldet bei den Fördermitteln keine Lücke 2025 mehr, die es nicht gibt. Der Schuldenvergleich der acht Städte prüft 2022 gegen die Schuldenübersicht im Haushaltsplan und kann das Jahr damit zeigen. Und die Vorbericht-Zahlen nennen den Plan des kommenden Jahres „Entwurf“ statt „Ansatz“, weil der Rat ihn noch ändert. (#1565)
- •Die dreizehn Kennzahlen des Jahresabschlusses 2025 werden gelesen. Der neue Rechenschaftsbericht setzt ein Leerzeichen vor das Prozentzeichen; daran scheiterte der ganze Bericht, und die Prüfseite zeigte 2025 als „erwartet“. (#1534)
- •Lotti und Frag den Rat bekommen die Haushaltszahlen, nach denen gefragt ist. Bei zwei von zehn Haushaltsfragen stand die richtige Zahl bisher gar nicht im Kontext des Sprachmodells, obwohl sie in den Daten liegt. Jetzt kommen sie an: die Erwartung der Verwaltung für das laufende Jahr und das Ergebnis 2025 aus dem Finanz- und Leistungsbericht, der Investitionsplan 2026, Zinsen und Tilgung im Jahr, der Höchstbetrag für Liquiditätskredite, die größten Ausgabenbereiche und das größte Vorhaben des Investitionsprogramms. Außerdem kommen Hebesätze und Steuereinnahmen je Einwohner der anderen kreisfreien Städte an, dazu alle Betriebe des Konzerns samt GSG und Bäderbetrieb. Einzelne Aufgaben wie Stadtarchiv oder Sportförderung werden auch unter dem Alltagswort gefunden. Auf dem Steuer-Steckbrief weiß Lotti, um welche Steuer es geht. Und der Haushalt 2026 gilt nicht mehr als „noch nicht beschlossen“: Das Datum stammt jetzt aus dem Ratsbeschluss vom 09.02.2026 und nicht mehr aus dem Entwurf, der den Tag der Vertagung nannte. (#1504)
- •Jeder Kredit nennt seine eigene Vorlage. Im Block „Zu welchem Zins die Stadt sich Geld leiht“ auf der Schulden-Seite stand bisher nur die Vorlage des jüngsten Berichts, obwohl die Zeilen darunter aus anderen Berichten stammen. Jetzt steht an jeder Zeile ihre Vorlage mit Link zum Dokument. Lotti und Frag den Rat bekommen dieselbe Zuordnung: Wer nach dem Kredit des Bäderbetriebs aus dem Mai 2026 fragt, erfährt jetzt die richtige Vorlage (26/0397) und nicht die des zweiten Kredits über 8 Mio. € aus dem August. (#1528)
- •Lotti erklärt auch Bausteine mit viel Text. Beim Kürzen hängte das Fenster das Auslassungszeichen erst nach der erlaubten Länge an, so dass ein langer Baustein wie der Kassenzettel im Haushalt zwei Zeichen zu viel mitschickte. Der Server wies das ab, und Lotti antwortete auf ihren eigenen Vorschlag mit „Dazu kann ich gerade nichts sagen.“ (#1512)
- •Die Produktebene zeigt jetzt alle Aufgaben mit Zahlen. Ein Produkt ohne Erträge oder mit einer leeren Planspalte fiel bisher ganz aus der Liste. Je Jahrgang fehlten so 12 bis 18 Aufgaben, darunter die Personalrückstellungen (rund 17 Mio. € im Jahr) und die Landeserstattung „Neuordnung der sachlichen Zuständigkeit“ (72,6 Mio. € in 2026). Zehn Altzeilen aus der Vorjahresspalte des Folgeplans sind entfernt. (#1524)
- •Verpasste Sitzungen werden nachgetragen. 48 öffentliche Sitzungen seit 2018 fehlten im Bestand, darunter der Betriebsausschuss Abfallwirtschaft vom 13.10.2021 mit der Gebührenbedarfsberechnung 2022 und zwei Ratssitzungen. Ein wöchentlicher Nachlauf über die letzten 24 Monate trägt solche Lücken jetzt von selbst nach. (#1523)
- •Themen-Seiten erzählen abgelehnte Anträge nicht mehr als Beschlüsse. Die kurze Einordnung oben auf einer Themen-Seite kannte das Ergebnis der Beschlüsse nicht. Beim „TSH Konzept Berlin“ stand deshalb, der Bau neuer Sporthallen sei beschlossen worden, obwohl beide Anträge abgelehnt worden waren. Die Beschreibungen kennen jetzt das Ergebnis jedes Beschlusses, und die betroffenen werden neu geschrieben. (#1500)
v2.8.0
2026-09-23Hinzugefügt
- •Ideen aus anderen Städten zeigen jetzt Bewegungen statt langer Listen. Eine Idee, die mehrere andere Räte hatten, steht als eine Karte da: welche Städte, wann und mit welchem Ergebnis, auf einer gemeinsamen Zeitleiste — und ein Urteil je Idee, ob Oldenburg sie schon hat, mit Belegen und getrennt davon „Verwandtes aus Oldenburg". Jede Idee hat eine eigene Seite mit allen Vorlagen, dem „Warum" aus den Niederschriften, wo eines dasteht, und einer Rückmeldung „Stimmt das?". Die einzelnen Vorlagen stehen weiter darunter. Im Web und in der App, weiterhin hinter dem Schalter
ideen-anderswo. (#1483) - •Lotti schlägt vor, was als Nächstes dran ist. Unter ihrer Antwort stehen jetzt bis zu zwei Chips, die weiterführen: zum nächsten Baustein der Seite („Erklär mir: Kredite und Zinsen"), zu einem Fachwort aus der Antwort („Was heißt Umschuldung?") oder ins Ratsarchiv. Die Vorschläge entstehen im Browser aus dem, was das Fenster ohnehin weiß — ohne einen zweiten Aufruf ans Sprachmodell; die Frage nach einem Fachwort beantwortet das geprüfte Glossar in Millisekunden und kostet nichts. Gefragt wird nichts zweimal. (#1462)
- •Lotti fragt selten mal selbst nach. Wer eine Weile auf einer Seite liest, bekommt von ihr eine kleine Blase: „Hast du eine Frage zu dem, was du siehst?“ Ein Tipp öffnet ihr Fenster, ein × schickt sie wieder weg. Sie meldet sich höchstens einmal am Tag und dreimal im Monat, nie auf der Fragen-Seite, und nach zweimal Wegklicken zwei Monate lang gar nicht mehr. (#1445)
- •Lotti hilft jetzt auch in der App. Unten rechts schwebt ein Knopf mit ihr über jedem Screen. Ein Tipp öffnet ein Blatt, in dem sie erklärt, was gerade zu sehen ist — die Seite, die Liste, ein Fachwort. Gehört die Frage ins Ratsarchiv, sagt sie das und reicht sie an „Frag den Rat" weiter, ohne dass man sie noch einmal tippen muss. (#1447)
- •Lotti zeigt, worauf ihre Zahlen ruhen. Unter einer Antwort mit Haushaltszahlen steht jetzt die Zeile „Grundlage:" mit den Papieren, die Lotti vorlagen — Jahresabschluss, Haushaltsplan, Prüfbericht, jeweils mit Jahr und, wo es eine gibt, mit der Adresse des Dokuments. Ein Klick öffnet es in einem neuen Tab, in derselben Form wie die Beleg-Chips der Haushalts-Seiten. Genannt wird, was wirklich im Kontext stand: Ein Baustein, der nicht mehr in den Prompt passte, bringt auch seinen Beleg nicht mit. Es sind die Quellen der Antwort, nicht die einer einzelnen Zahl — genau das sagt die Beschriftung. Antworten ohne Zahlen (Glossar, Seitenwissen, „Lotti erklärt's einfach") bekommen keine Zeile, und ein gespeichertes Gespräch zeigt die Belege beim Laden wieder. (#1474)
- •Lottis Erklärungen lassen sich bewerten. Unter jeder Antwort, die ein Modell geschrieben hat, stehen jetzt dieselben zwei stillen Daumen wie im Ratsgespräch — mit der Nachfrage nach dem Grund beim Daumen runter. Unter geprüftem Text (Glossar, Seiten-Wissen, „Lotti erklärt's einfach") stehen sie bewusst nicht: Dort bewertete man das Glossar, nicht die Assistentin. Der Admin-Reiter „Lotti" zeigt die Quote dazu, getrennt von der des Ratsgesprächs. (#1460)
- •Lotti ordnet Zahlen ein, statt sie zu bewerten. Auf „Ist das viel?", „Wie steht Oldenburg im Vergleich da?" oder „Wie viel Schulden hat Oldenburg pro Kopf?" legt sie den Betrag je Einwohner*in daneben und sagt, wo Oldenburg in der Reihe der acht kreisfreien Städte Niedersachsens steht. Ob das viel oder wenig ist, entscheidet weiterhin die Person — Lotti bewertet nicht. Gerechnet wird auf dem Server: Ratslotse teilt den Betrag durch die Einwohnerzahl desselben Jahres und nennt beide Jahrgänge dazu, damit keine Zahl im Kopf des Sprachmodells entsteht. Nebenbei behoben: Der Städtevergleich im Antwort-Kontext zeigte bisher die Einwohnerzahlen der acht Städte statt ihrer Steuerkraft. (#1473)
- •Lotti kann jetzt erklären, was auf dem Bildschirm steht. Der Unterbau dafür steht: ein eigener Endpunkt, der eine Seite, einen angeklickten Baustein oder markierten Text in Alltagssprache erklärt — ohne im Beschluss-Archiv zu suchen. Für Fachwörter, Beschluss-Kurzfassungen und Seitenbeschreibungen antwortet er aus geprüftem Text, ganz ohne Sprachmodell. Fragen, die wirklich ins Archiv gehören („Wer hat dagegen gestimmt?"), beantwortet er nicht, sondern reicht sie an „Frag den Rat" weiter. Sichtbar wird das mit dem Lotti-Knopf im nächsten Schritt. (#1441)
- •Zeig Lotti, was du erklärt haben willst. Im Lotti-Fenster gibt es jetzt „Etwas auf der Seite zeigen": Jeder erklärbare Baustein bekommt ein kleines Fragezeichen, und ein Tipp darauf erklärt genau diesen — die Rate-Treppe, eine Zahlentabelle, den amtlichen Beschlusstext. Erklärt wird dabei nur, was in dem angetippten Baustein steht, nicht die ganze Seite. (#1443)
- •Lotti merkt sich eure Gespräche — wenn ihr das wollt. Was du sie fragst, landet in deinem Konto, sobald du „Gespräche merken" erlaubt hast; du findest es auf allen Geräten unter „Gespräche" wieder. Es ist dieselbe Einwilligung wie bei „Frag den Rat", und wer sie abgelehnt hat, wird nicht noch einmal gefragt. Was auf der Seite steht — der markierte Text, der Inhalt eines Bausteins —, wird dabei nicht mitgespeichert. (#1444)
- •Lotti kennt jetzt den ganzen Haushalt, nicht nur die Seite, auf der man steht. Sie weiß von allen fünfzehn Haushalts-Seiten, welche Frage dort beantwortet wird, und sagt am Ende einer Antwort in einem Satz, wo etwas ausführlich nachzulesen ist — mit einem Chip „Weiter zu: …", der direkt hinführt. Und die geprüften Haushaltszahlen kommen nicht mehr nur im Haushalts-Bereich: Wer auf „Heute" oder auf einer Beschluss-Seite nach dem Schuldenstand fragt, bekommt die Zahl dort, wo er gerade ist. (#1467)
- •Lotti ist jetzt auf jeder Seite ansprechbar. Unten rechts schwebt ein Knopf; ein Tipp darauf öffnet ihr Fenster, und sie erklärt, was gerade auf dem Bildschirm steht — die Seite, eine Zahl oder markierter Text. Der Verlauf bleibt erhalten, wenn du weiterblätterst. Fragen, die in die Ratsunterlagen gehören („Wer hat dagegen gestimmt?"), beantwortet sie nicht selbst, sondern reicht sie mit einem Tipp an „Frag den Rat" weiter. (#1442)
- •Lotti reicht Archivfragen weiter, ohne dich wegzuschicken. Fragst du sie etwas, das nur die Ratsunterlagen beantworten („Wer hat dagegen gestimmt?"), sucht sie jetzt direkt im Fenster — und nimmt mit, was du gerade vor dir hast. Die Antwort steht dort, wo du gefragt hast, mit den Beschlüssen darunter; wer mehr will, geht mit einem Tipp ins volle Ratsgespräch. (#1446)
- •Lottis leeres Fenster schlägt jetzt zwei Fragen zur jeweiligen Seite vor, statt nur „Was sehe ich hier?" anzubieten. Wer nicht weiß, was er Lotti fragen kann, fragt oft gar nichts — auf der Schulden-Seite erscheinen jetzt etwa „Wie viel Schulden hat Oldenburg pro Kopf?" und „Wie hoch ist der Schuldenstand des Kernhaushalts allein?" als Chips. „Was sehe ich hier?" bleibt darunter als kleinere dritte Option. Die Fragen sind für jede Seite von Hand ausgewählt und im Browser gegen echte Daten geprüft: Auf den Haushalts-Seiten zieht jede der beiden wirklich eine Zahl, statt nur die Seite zu beschreiben. (#1471)
- •Lotti zeigt dir, wo etwas steht. Wer sie fragt „Wo finde ich …?" oder „Wo steht …?", bekommt jetzt einen Knopf „Zeig mir: …" — ein Klick scrollt zum passenden Baustein der Seite und hebt ihn kurz hervor. Die Antwort entsteht im Browser aus den Überschriften der Seite, ohne Rückfrage beim Sprachmodell, und ist deshalb sofort da. Findet sich nichts Passendes, geht die Frage wie bisher an Lotti — die jetzt aber weiß, welche Bausteine auf der Seite stehen, und deshalb sagen kann, unter welcher Überschrift man nachsehen muss. (#1461)
- •Der Modell-Prüfstand misst jetzt auch Wortbeiträge, Live-Verfolgung, Video-Ergebnisse, Social-Texte, Kritiker und „Mein Viertel“. Jede Suite prüft an echten Sitzungen und Beschlüssen, mit Erwartungen aus Niederschrift und Vorlage statt aus einer Modellausgabe, und ohne ein Modell als Richter. Die Transkription des Mitschnitts hat eine Suite, aber noch kein Audio zum Messen. Ein Kandidat, der häufiger als das heutige Modell einer Injektion folgt oder mehr erfindet, heißt im Bericht nicht mehr „besser“, sondern „nicht zulässig“ — egal, wie gut seine Quote ist. (#1487)
- •Modell-Prüfstand: jedes KI-Feature mit Eval gegen jedes neue Modell, mit einem Befehl.
python eval/pruefstand.py --modell <id> --laeufe 2misst Qualität, harte Befunde, Latenz und echte Kosten je Feature und schreibt mitberichteine Übersicht, die einen Unterschied nur jenseits der Streuung zweier Läufe als Gewinn oder Verlust zählt. Nebenbei erscheint der Themen-Wächter jetzt in der Kostenstatistik des Admin-Panels; bisher liefen seine Aufrufe dort unter keinem Namen. (#1482)
Geändert
- •Der Städtevergleich wird vorerst nicht mehr wöchentlich aktualisiert. Der Hintergrundlauf, der Ratsdokumente der Vergleichsstädte holt und gegen Oldenburg hält, ist abgeschaltet, bis der Vergleich fertig ist — er war der mit Abstand teuerste und längste Lauf des Projekts. Die bereits erfassten Daten bleiben unverändert sichtbar. Dazu drei Änderungen, damit er wieder eingeschaltet werden kann, ohne alles andere aufzuhalten: Er hat jetzt eine Zeitgrenze und hört von selbst auf, statt bis in den Abend zu laufen; er tritt zur Seite, sobald eine neue Version veröffentlicht wird, und macht beim nächsten Mal weiter; und wenn ein Bewertungsmaßstab geändert wird, bewertet er nicht mehr stillschweigend den gesamten Bestand neu — das ist jetzt ein eigener, angestoßener Lauf. (#1418)
- •Lotti geht selbst ins Ratsarchiv — und unter einer Antwort steht höchstens noch ein nächster Schritt. Der Knopf „Den Rat fragen" ist weg. Wer fragt „Wer hat dagegen gestimmt?", bekommt die Antwort mit Belegen, ohne vorher zu entscheiden, welchen Weg die Frage nehmen soll — Lotti sagt dabei, was sie gerade tut („Das steht nicht auf der Seite — ich sehe im Ratsarchiv nach"). Der Umweg über eine Vorab-Erklärung entfällt damit: Eine Archivfrage kostet ein Viertel weniger und spart rund eine Sekunde. Wer nach einer Erklärung doch tiefer will, findet darunter den stillen Textlink „Im Ratsarchiv nachsehen". Gleichzeitig ist das Fenster ruhiger geworden: Statt bis zu sieben Bedienelementen unter einer Antwort steht dort jetzt höchstens ein Vorschlag, und er sagt als Handlung, was passiert („Anzeigetafel erklären" statt „Erklär mir: Die Anzeigetafel"). Ein Fachwort führt nicht mehr zusätzlich einen Chip mit sich — es steht unterstrichen im Antworttext und klappt dort auf. Die Einstiegs-Chips stehen nur noch im leeren Fenster; „Etwas auf der Seite zeigen" wohnt danach als Icon neben dem Eingabefeld. Und der Verweis auf eine andere Haushalts-Seite zeigt nie mehr auf die Seite, auf der man gerade steht. Eine Antwort aus dem Ratsarchiv zeigt außerdem nur noch die Quellen, auf die sie sich wirklich beruft; die übrigen Fundstücke stehen wie gehabt hinter „Alle … Quellen". Und ein Gespräch, das mit einer Archivfrage beginnt, bleibt eines: Es landet bei Lotti und nimmt die folgenden Erklärungen mit auf. (#1470)
- •Die Überschrift einer Seite gilt Lotti jetzt ausdrücklich als Fremdtext. Auf einer Beschluss-Seite ist sie der Titel aus der Ratsvorlage, also von jemand anderem geschrieben. Ein Eval-Fall prüft, dass eine Anweisung darin folgenlos bleibt. (#1452)
- •Lotti schaut auf, wenn der Mauszeiger kommt. Der schwebende Knopf unten rechts hebt sich leicht, sein Schatten öffnet sich, und Lottis Kopf darin richtet sich auf und neigt sich — so ist auch ohne Zeigerhand zu sehen, dass man ihn anklicken kann. Auf Touchgeräten ändert sich nichts, und wer reduzierte Bewegung eingestellt hat, bekommt nur den Farb- und Schattenwechsel. Gleichzeitig ist die feste Fußzeile unten in Lottis Fenster weggefallen: Sie kostete in jedem Gespräch dauerhaft Platz für einen Satz, den man einmal liest. Was rechtlich zu sagen ist — dass Frage und Ratsauszüge extern verarbeitet werden —, steht unverändert in der Einwilligungs-Karte vor der ersten Frage, in der Konto-Karte „Gespräche" und auf der Datenschutzseite. (#1466)
- •Lotti weiß jetzt, was dein Konto darf — und was es nicht darf. Sie verweist nur noch auf Seiten, die dir auch offenstehen, statt in eine gesperrte Ansicht zu schicken. Fragst du ausdrücklich nach „meinen Themen", kennt sie deren Namen; ohne dieses Wort bleiben sie außen vor. Deinen Namen, deine Adresse und deine Rolle erfährt sie nie. Und wenn dir ihr Knopf im Weg ist: Unter „Mein Konto" lässt er sich für dieses Gerät ausblenden — über ⌘K ist sie trotzdem erreichbar. (#1448)
- •Fragt jemand ohne Zusatz nach „dem Haushalt", nennt Lotti jetzt beide Zählweisen. Tims eigene Frage war der Normalfall: „der Haushalt" heißt für die Verwaltung den Kernhaushalt, für alle anderen die ganze Stadt samt Eigenbetrieben und Beteiligungen. Sagt jemand nur „Haushalt", „Etat", „Budget" oder „Gesamthaushalt" — ohne „Kern", „Konzern", „Eigenbetrieb(e)", „Beteiligung(en)" oder „Gesamtabschluss" zu nennen —, holt Lotti jetzt beide Zahlen dazu und nennt sie mit je einem Satz: dieselbe Figur wie „Drei Zählweisen, eine Stadt" auf der Schulden-Seite. Das gilt auf den Haushalts-Seiten genauso wie außerhalb, etwa auf „Heute" — dort kamen Haushaltszahlen bisher nur zu ausdrücklichen Geldfragen wie „Wie hoch sind die Schulden?". (#1472)
- •Wortbeiträge aus Niederschriften werden vollständiger erfasst. Jede Wortmeldung steht jetzt als eigener Eintrag da, auch wenn dieselbe Person mehrmals spricht, und wer in einer Aussprache antwortet (Verwaltung, Gäste, Vortragende), erscheint mit eigenem Namen statt im Antwortfeld der Frage. Die Live-Verfolgung einer Ratssitzung und die Ortszuordnung von Beschlüssen laufen auf neueren Modellen, weil die bisherigen im Oktober abgeschaltet werden. (#1491)
- •Zwei Projektregeln sagen jetzt, was wirklich gilt. Der Rückmerge von
mainnachdevstand als Pflicht nach jedem Fix in den Regeln — ein Workflow erledigt ihn längst bei jedem Push, der Befehl von Hand sagt seit Monaten nur noch „Already up to date". Er steht jetzt dort, wo er zählt: als Auflösung, wenn der Workflow bei einem Konflikt rot wird. Und die Karte „Neu bei Ratslotse" wird von jeder Minor- auf jede Major-Version umgestellt: Die Minor-Regel war eine Bitte und wurde fünf Releases lang übergangen, weil die Kuratierung Handarbeit ist. Beide Regeln hält jetzt ein Wächter statt einer Zeile Prosa. (#1435)
Behoben
- •Der Hinweis auf eine ältere Aktenlage beschreibt jetzt die Antwort, nicht den Bestand. Gerechnet wurde er über alle gefundenen Beschlüsse — ein einzelner Randtreffer aus diesem Jahr ließ damit eine Antwort aktuell aussehen, die ausschließlich auf Beschlüssen von 2018 bis 2023 ruht. Maßgeblich sind jetzt die Beschlüsse, die in der Antwort wirklich zitiert werden; gespeicherte Gespräche bringen den Hinweis beim Wiederöffnen mit. (#1434)
- •Jeder Prod-Deploy war fünf Minuten länger unterwegs als nötig. Die Testsuite läuft seit 09/2026 parallel über alle Kerne — auf den Pull Requests und lokal, aber nicht in dem Testlauf, der dem Deploy vorgeschaltet ist: Dort war die Umstellung übersehen worden. Gemessen am Release 2.7.0: 7 min 25 s dort gegen gut zwei Minuten auf demselben Stand im Pull Request. Nichts wurde dadurch rot, es dauerte nur jedes Mal länger. Ein Wächter hält die drei Stellen, die die ganze Suite fahren, jetzt beieinander. (#1433)
- •Lotti kennt das Abstimmungsergebnis des Beschlusses, den sie erklärt. „Wie viele haben dagegen gestimmt?" bekam auf einer Beschluss-Seite bisher die Auskunft, das könne nur das Ratsarchiv sagen — obwohl das Ergebnis auf der Seite stand. Ergebnis, Stimmenverhältnis, Gegenstimmen und Enthaltungen gehen jetzt mit in ihren Blick auf die Seite, das Sitzungsdatum dabei in Worten („1. Juni 2026"). Wer wie gestimmt hat, steht weiterhin nirgends — diese Frage reicht sie wie bisher an „Den Rat fragen" weiter. (#1457)
- •Lotti liest den eigenen Namen nicht mehr von der Startseite ab. Die Überschrift von „Heute" ist eine Begrüßung mit dem Anzeigenamen des Kontos — sie stand damit in Lottis Kontext-Zeile, in ihrem Arbeitsauftrag und im Titel des gespeicherten Gesprächs. Jetzt zeigt das Fenster dort den Seitennamen, und der Anzeigename wird zusätzlich im Backend aus Überschrift und Gesprächstitel gestrichen. Nebenbei heißt der Browser-Tab der Startseite jetzt „Heute" statt des langen Anwendungstitels. (#1456)
- •Lotti in der App: eigenes Gespräch, lesbare Antworten, und sie klopft auch hier an. Ihre Runden landeten bisher im laufenden Ratsgespräch, und Fettungen standen als Sternchen im Text. Beides ist behoben. Neu ist der Hinweis zur KI-Verarbeitung vor der ersten Frage, das seltene Anklopfen mit denselben Grenzen wie im Web, und ein Stück Luft unter langen Listen, damit ihr Knopf den letzten Eintrag nicht mehr verdeckt. (#1450)
- •Lotti erklärt jetzt den Beschluss, nicht die Sorte Seite. Auf einer Beschluss-, Personen- oder Themenfeld-Seite hatte sie den Gegenstand zwar vor sich, redete aber über die Gattung der Seite und sagte im Zweifel „das steht hier nicht". Außerdem antwortet sie auf Seiten, die zu einem Recht gehören, nur noch Konten, die dieses Recht auch haben. (#1449)
- •Lotti verliert den Beschluss nicht mehr, wenn sie ins Ratsarchiv weiterreicht. Wer auf einer Beschluss-Seite „Wer hat dagegen gestimmt?" fragte und auf „Den Rat fragen" tippte, bekam bisher eine Antwort über einen *ähnlichen* Vorgang — die Frage reiste nur als Text mit, nicht als Kennung. Jetzt geht die Kennung der Seite mit: Der Beschluss, den du vor dir hast, steht in den Quellen immer an erster Stelle, und „das" und „dieser Beschluss" meinen ihn. Das Archiv bleibt dabei offen — „Gab es dazu frühere Anträge?" findet weiterhin die anderen. (#1455)
- •Lotti hört im Haushalt auf die Frage, nicht nur auf die Seite. Wer auf der Haushalts-Übersicht nach dem Gesamthaushalt samt Eigenbetrieben fragte, bekam die Zahlen der Seite und sonst nichts — die Frage war der Auswahl der Quellen gleichgültig. Jetzt entscheiden Frage und Seite gemeinsam, welche Haushaltsdaten sie heranzieht, und bei einer eigenen Frage bleibt Platz für die Quelle, die sie beantwortet. (#1465)
- •Lottis Fenster schneidet Erklärungen nicht mehr ab — und sagt, woran es gerade arbeitet. Ein unterstrichenes Fachwort in Lottis Antwort zeigte seine Erklärung als Popover am Wort; im 384 Pixel schmalen Fenster schnitt der Rand sie ab, sobald das Wort rechts stand. Jetzt klappt sie unter dem Absatz auf — ein stiller Block, höchstens einer je Antwort, Esc schließt ihn. Im Ratsgespräch, wo Platz ist, bleibt der Popover. Und die Ladeanzeige ist endlich eine: drei Punkte, die sich wirklich bewegen, daneben der Schritt, den der Server ohnehin meldet — „Lotti liest die Seite …", dann „Lotti schreibt …", auf dem Weg ins Archiv die Schritte der KI-Frage. (#1468)
- •Lotti tritt beiseite, solange der Einrichtungs-Assistent oder die Tour läuft. Der schwebende Knopf stand bisher auch dann im Seitengerüst, wenn eine Vollfläche davor lag — unsichtbar, aber mit der Tabulatortaste erreichbar. Wer ihn dort traf, öffnete Lottis Fenster hinter dem Assistenten und bekam Erklärungen zu einer Seite, die gerade gar nicht zu sehen war. Jetzt gibt es während des Assistenten, der Tour-Einladung und der geführten Tour weder Knopf noch Anklopfen noch Fenster; danach ist alles wie vorher. (#1458)
- •Lotti erklärt den Haushalt wieder. Der Riegel, der Seiten mit Recht nur Konten mit diesem Recht öffnet, las die Rechte an der falschen Stelle und sperrte deshalb jedes Konto aus. (#1453)
- •Lottis Gespräche finden sich wieder. In der Liste „Gespräche" tragen sie jetzt ihren Namen und öffnen sich in ihrem Fenster statt im Ratsgespräch. Eine Frage, die sie ans Ratsarchiv weiterreicht, wird im selben Gespräch gespeichert; nach einem Neuladen des Tabs läuft es weiter, statt sich zu teilen. Und wer die Speicher-Frage anderswo beantwortet hat, bekommt sie bei Lotti nicht noch einmal. Und auf dem Handy bleibt ihr Fenster über der Tastatur. Wer dort in die Zeile tippte, tippte bisher hinter die Tastatur. (#1451)
- •Lotti verwechselt die Seiten nicht mehr. Ihr Verlauf überlebt den Seitenwechsel — das ist gewollt, nur stand die Erklärung der vorigen Seite danach ohne jeden Hinweis obenan, und ihre Runden gingen als Vorgeschichte in die nächste Frage. Jetzt trennt eine stille Zwischenzeile „Jetzt auf: …" die Seiten voneinander, und als Gedächtnis reisen nur noch Runden mit, die auf derselben Seite gestellt wurden. Ältere Runden bleiben sichtbar, sie reden nur nicht mehr in die Antwort hinein. (#1459)
- •Registrierungs-Signale und Kohorten rechnen in UTC. Die Tagesreihe der Registrierungen und die Reife der Kohorten liefen über die Ortszeit, die gespeicherten Zeitstempel stehen aber in UTC. Zwischen 22 und 24 Uhr CEST fehlte deshalb der jüngste Tag im Admin-Panel; die Abweisungen werden jetzt ebenfalls auf den UTC-Tag gezählt, und zwei Tests halten den Grenzfall mit gestellter Uhr fest. (#1464)
- •Der Städtevergleich schickt keine Dokumente mehr an chinesische Modellanbieter. Die Einordnung fremder Ratsdokumente lief bisher ganz ohne die Anbieterauswahl, die für alle übrigen Modellaufrufe gilt: Damit fielen nicht nur die Zero-Data-Retention-Pflicht, sondern auch das Trainingsverbot und der Ausschluss chinesischer Anbieter weg. Jetzt entfällt dort nur noch die Zero-Data-Retention-Pflicht, weil ausschließlich öffentliche Ratsdokumente anderer Städte verarbeitet werden. Das Trainingsverbot und der Ausschluss gelten wie überall. Nutzerdaten waren nie betroffen. (#1488)
v2.7.0
2026-09-21Hinzugefügt
- •Fertige Fragen an Lotti stehen jetzt dort, wo neue Leute tatsächlich sind. Auf dem Wahlabend, in den Auswertungen und über der Beschlussliste liegen zwei, drei Fragen zum Antippen — passend zu dem, was gerade zu sehen ist: Ist auf dem Wahlabend eine Liste angetippt, fragt der erste Chip nach ihr; wer in der Suche ein Stichwort eingibt, bekommt es als Frage angeboten. Ein Tipp stellt die Frage sofort; wer nicht angemeldet ist, landet nach der Anmeldung genau dort. Anlass: Sechs neue Konten in einer Woche, null Fragen — der Weg über Wahlabend und Auswertungen führte an der KI-Frage vorbei, und die beiden Fragen, die dann doch kamen, kamen beide über einen Chip. (#1409)
- •Drei kurze Wege dorthin, wo neue Leute bisher hängen blieben. In den Auswertungen steht an jedem Kernpunkt des Rückblicks ein „folgen“-Chip — wer liest, dass der Wärmeplan beschlossen ist, kann ihn mit einem Tipp als Thema anlegen, statt den Weg über den Assistenten zu suchen. Im Quiz führt nach jeder Antwort ein Chip zu Lotti („Mehr dazu aus den Ratsbeschlüssen“). Und Punktfragen nach einer Zahl oder einem Datum („Wie viele Sumpfeichen müssen an der Nadorster Straße entfernt werden?“) ziehen jetzt die Sätze aus der Vorlage, in denen die Fragewörter stehen — bisher blieb es beim Beschlusstext, der bei solchen Fragen meist nur „Bericht zur Kenntnis genommen“ sagt. (#1415)
- •Neue Rolle „Fachpublikum": der Haushalt ohne die Post eines Ratsmandats. Bis jetzt gab es den Haushalts-Bereich mit allen Zahlen, Belegen und Auswertungen nur zusammen mit der Rolle *Ratsmitglied* — und die schaltet ab Werk auch die Tagesordnung jedes abonnierten Gremiums an. Wer die Zahlen braucht, aber nicht im Rat sitzt (Verwaltung, Presse, sachkundige Bürger*innen, Fraktionsmitarbeit), musste damit beides nehmen oder bekam gar nichts. *Fachpublikum* trennt das: derselbe Haushalt, aber die gewöhnlichen Benachrichtigungs-Vorgaben. Wer Tagesordnungen will, schaltet sie wie alle anderen selbst ein. Vergeben wird die Rolle im Admin-Panel unter *Web-Nutzer*innen*. (#1429)
- •Das Tippspiel zur OB-Stichwahl am 27. September ist offen. Unter ratslotse.de/tipp?runde=stichwahl tippt man ohne Konto, wie viel Prozent Ulf Prange und Jascha Rohr bekommen — und neu bei jeder Wahl: die Wahlbeteiligung (bis zu 6 Punkte, mit der Beteiligung des ersten Wahlgangs als Anhaltspunkt). Beim Beitritt lässt sich freiwillig die Parteizugehörigkeit angeben; sie steht als kleines Etikett neben dem Namen in der Rangliste. Der Einstieg bittet um den richtigen Namen, damit die anderen einen wiedererkennen. Getippt wird bis 18 Uhr am Wahlsonntag, wenn die Wahllokale schließen — dann fällt die Tippfrist von selbst, spätestens. Wer heute noch über einen alten Ratswahl-Link auf /tipp landet, wird zur laufenden Runde weitergeleitet; wer dort mitgespielt hat, sieht weiter sein Ergebnis. Behoben wurde dabei, was die Stichwahl-Runde bisher unbrauchbar machte: Sie verglich gegen den ersten Wahlgang statt gegen die Stichwahl, hielt einen Prozent-Tipp ohne Sitze für „keinen Tipp“ und schloss die Tippfrist nie automatisch. Der Beamer hat für die Stichwahl einen eigenen Vergleichs-Screen, das Admin-Panel eine Zeile für die Wahlbeteiligung und „Jetzt abfragen“ holt die Zahlen der richtigen Wahl. (#1400)
- •Vom Wahlabend direkt ins Tippspiel. Auf der Startseite, auf „Heute“, am Wahlabend und auf der Stichwahl-Seite steht jetzt der Weg zum Tippspiel der jeweiligen Wahl — und zwar nur dann, wenn es dort auch eines gibt: Ob eine Runde läuft, ob sie offen ist oder ein Konto braucht, entscheidet der Server. Läuft sie nur mit Konto, führt die Einladung zur Anmeldung statt gegen eine Wand. Wer hinter Jascha Rohr steht, steht jetzt genau da. Er ist parteilos, wurde von den Grünen und der CDU jeweils auf einer eigenen Versammlung aufgestellt und wird seit dem 15. September von Volt unterstützt. Auf dem Stimmzettel steht trotzdem nur „GRÜNE“: Das Kommunalwahlgesetz kennt je Person nur einen Wahlvorschlag, einen gemeinsamen zweier Parteien gibt es nicht — die Seite erklärt das in einem Satz und verlinkt für jede Aussage ihren eigenen Beleg. Behoben: In der Generalprobe stand vor dem ersten gezählten Bezirk „Noch nichts ausgezählt“ und daneben trotzdem eine Wahlbeteiligung. Jetzt bleibt sie leer, bis wirklich gezählt wird — wie am echten Abend um 18 Uhr. (#1401)
Geändert
- •Antworten sagen jetzt, wie alt ihre Beschlüsse sind. „Was ist für Neu-Donnerschwee geplant?" bekam bisher eine Antwort im Präsens über einen Bebauungsplan, der 2018 beschlossen und längst gebaut ist — der jüngste Beleg war von 2023, und kein Satz sagte das. Die Antwort rechnet jetzt nach, wie alt ihr jüngster Beschluss ist und ob der Rat seitdem überhaupt getagt hat: Ist die Aktenlage älter als anderthalb Jahre, nennt der erste Satz das Datum, und über der Antwort steht ein Hinweis dazu. Aktuelle Antworten bleiben, wie sie waren. (#1427)
- •Fragen nach dem, was noch kommt, bekommen eine ehrliche Antwort, wenn nichts kommt. Steht zu einer Sache keine einzige Beratung mehr an, sagt die Antwort das jetzt im ersten Satz — statt alte Beschlüsse in die Zukunftsform zu setzen. Anlass: „Was ist für Neu-Donnerschwee geplant?" erzählte im Futur von einem Bebauungsplan, der 2018 beschlossen wurde und dessen Häuser längst stehen. (#1430)
- •Die Tagesordnungs-Mail nennt jeden Punkt beim Namen. Bisher stand je Tagesordnungspunkt nur „Ö 6.3: Beantragt sind 9,5 Millionen Euro zusätzlich …" — der Satz aus Vorlage und Anlagen, aber nicht, wie der Punkt heißt. Jetzt steht über jedem Satz Nummer und Titel des Punktes, so wie in der Tagesordnung in der App; ein Dringlichkeitsantrag heißt in der Überschrift, was er ist. Schon gebaute Mails werden beim nächsten Versand aus den gespeicherten Sätzen neu gesetzt, ohne einen weiteren Modell-Aufruf. (#1403)
Behoben
- •Ein abgebrochener Deploy weckt nur noch, wenn die Seite betroffen ist. Bisher schickte jeder Abbruch dieselbe Alarm-Mail — auch die Abbrüche, die vor dem Umschalten passieren und die laufende Seite gar nicht anfassen. Am 20.09.2026 waren das fünf von sechs an einem Tag, alle mit dem Satz „die Seite ist unten", während sie lief; die eine Mail, die zählte, ging darin unter. Jetzt misst der Alarm vorher, ob Wartungsbarriere und Dienste überhaupt betroffen sind, und bleibt sonst still. Damit dabei nichts unbemerkt liegen bleibt, holt ein neuer Wächter halbstündlich nach, was liegen geblieben ist: Ist ein Stand nicht auf ratslotse.de angekommen und blockiert kein langer Hintergrundlauf mehr, startet die Veröffentlichung von selbst — und meldet sich, wenn das über Stunden nicht klappt. Kurze Hintergrundläufe wartet die Veröffentlichung jetzt außerdem ab, statt an ihnen zu scheitern. (#1416)
- •Deploy blockierte sich selbst. Die Prüfung „läuft noch ein Cron?" vor dem Deploy hielt den laufenden API-Dienst für einen Cron, weil er auf dem Server als
python3 …/uvicornin der Prozessliste steht — damit war jeder Deploy blockiert. Und der Backup-Vergleich davor nennt jetzt Tabelle und Zeilenzahlen, wenn er abbricht, statt nur „abweichendes Tabellenmanifest". (#1412) - •„Für Oldenburg nicht anwendbar" hat Ideen versteckt statt sie zu zeigen. Die Stufe war für Dinge gedacht, die es in Oldenburg nicht geben kann — keine Stadtbahn, kein Hafen. Sie traf aber auch Einrichtungen, die der Rat beschließen könnte: Fünfmal verschwand ein Jugendparlament aus der Liste, das sechs Vergleichsstädte haben, mit der Begründung, Oldenburg habe keins. Entscheidend ist jetzt eine einzige Frage — könnte der Rat sich diese Voraussetzung selbst beschaffen? (#1404)
- •Kein fremder Stadtteil mehr in einer Ortsantwort. Betrifft eine Vorlage mehrere Orte, stand in der Antwort bisher der Ort aus dem Beschlusstext — auch wenn der belegte Bezug auf den gefragten Ort zeigte. Eine Frage nach Neu-Donnerschwee bekam so einen Satz über den Fliegerhorst. Jetzt zählt für die Ortsangabe der Beleg, und die Antwort sagt, was die Vorlage für den gefragten Ort besagt. (#1431)
- •Fragen nach einem Ort mit Steckbrief endeten mit „Frage fehlgeschlagen.". Nennt eine Frage einen Ort, zu dem der Ortskatalog eine Kurzbeschreibung führt — „Neu-Donnerschwee", „Fußgängerzone", „Alter Stadthafen" und rund 45 weitere —, brach die KI-Frage ab, bevor die Antwort begann. Der Ort kam ohne Kennung in den Steckbrief-Baustein, und daran starb der ganze Antwortstrom statt nur der Karte. Zugleich steht der Ort jetzt nur noch einmal im Hintergrund: Ortskatalog und Themenseite tragen denselben Namen, bisher zählte er doppelt und verdrängte den zweiten Steckbrief. (#1424)
- •„Was wurde hier zuletzt beschlossen?" bekommt wieder die knappe Faktenantwort. Für Fragen nach der jüngsten Entscheidung an einem Ort gibt es eine deterministische Antwort aus Datum und Abstimmungsergebnis — sie wurde aber nur erreicht, wenn ein Sprachmodell die Frage vorher als Ortsfrage eingeordnet hatte. „Was ist in Donnerschwee zuletzt beschlossen worden?" galt ihm als Verlaufsfrage; die Antwort führte daraufhin mit dem größten Beschluss statt mit dem jüngsten. Jetzt entscheidet die Frage selbst. Und der Ort steht im Satz: „Zuletzt mit Ortsbezug Donnerschwee hat der Rat am …". (#1428)
- •Startseite ohne WebGL zeigte die Fehlerseite. Die 3D-Lotti-Szene baut auf dem Desktop einen WebGL-Renderer, und wenn der Browser keinen Kontext hergibt (Hardware-Beschleunigung aus, ein Browser ohne WebGL), warf das eine Ausnahme mitten im Aufbau — statt der Startseite stand „Etwas ist schiefgelaufen". Jetzt wird vorher geprüft, ob WebGL überhaupt geht, und die Szene meldet einen Fehlschlag, statt zu werfen; in beiden Fällen bleibt die gezeichnete Lotti-Familie stehen, wie auf dem Handy. (#1411)
- •Deploy scheiterte am Backup-Vergleich, sobald nebenher ein Cron schrieb. Das Sicherungs-Backup vor dem Deploy wurde Zeile für Zeile gegen die laufende Datenbank gehalten — aber das Backup entsteht, bevor das Prüfskript zum ersten Mal hinsieht, und bis dahin darf sich jede Tabelle bewegt haben. Am 20.09. blockierte das drei Deploys hintereinander, weil der Städte-Lauf nebenher Modellaufrufe zählte. Geprüft wird weiter, dass das Backup in diesem Lauf entstand, dasselbe Schema hat und gefüllt ist; Zeilenunterschiede werden nur noch genannt. (#1413)
- •Kein zweiter Deploy mehr über einen laufenden. Der Wächter, der liegengebliebene Prod-Deploys nachholt, verglich
mainnur mit dem letzten *geglückten* Lauf — ein gerade laufender kam in der Rechnung nicht vor. Dauerte ein Deploy länger als zwanzig Minuten, stieß der Wächter denselben Stand ein zweites Mal an: zweite Wartungsbarriere, rund zwei Minuten, in denen die Seite für nichts und wieder nichts pausierte. Er fragt jetzt zuerst, ob schon einer unterwegs ist. (#1426) - •„database is locked" bei gleichzeitigen Anfragen. Jede Anfrage baut ihren Datenbank-Zugriff neu auf und ließ dabei die Werte-Migrationen noch einmal laufen — Dutzende
UPDATE-Anweisungen ohne Treffer, von denen sich trotzdem jede die Schreibsperre der Datei holte (41 je Anfrage an der Konten-Datenbank, 385 an der Rats-Datenbank). Eine reine Leseanfrage war damit ein Schreiber, und wenn Startseite und Admin-Panel gleichzeitig luden, lief ein Teil der Anfragen nach fünf Sekunden Wartezeit in den Fehler. Die Migrationen fragen jetzt erst lesend nach, ob es etwas umzuschreiben gibt, und schreiben nur dann; ein Wächter-Test öffnet beide Stores neben einem laufenden Schreiber. (#1410) - •Die KI-Frage findet Beschlüsse, die das Gefragte nur unter seinem Oberbegriff führen. „Wie viele Sumpfeichen müssen an der Nadorster Straße entfernt werden?“ bekam „keine Auskunft“, obwohl die Beschlüsse zu den Baumfällungen an der unteren Nadorster Straße vorliegen — sie standen hinter zwei Dutzend Bebauungsplan-Beschlüssen mit demselben Straßennamen, außerhalb dessen, was das Modell sieht. Zwei Änderungen: Die Suchbegriffe tragen jetzt den Oberbegriff des Gefragten (Sumpfeiche → Baum, Baumfällung) und keine Wörter der Fragehülle mehr („Beschlüsse“, „Rat“ — die stehen in jeder Vorlage und finden nichts); und ein Treffer, dessen Titel ein seltenes Fragewort trägt, rückt in den Antwortkontext nach, auch wenn das Ranking ihn hinter den Deckel gesetzt hat. Gemessen: Der Leitfaden Fahrradstraßen stand für „zuletzt zum Radverkehr“ vorher gar nicht in den Kandidaten, jetzt auf Rang 7. (#1408)
- •„Was hat der Rat zuletzt zum Radverkehr beschlossen?“ bekommt jetzt den Radverkehr, nicht die ganze Sitzung. Das Wort „zuletzt“ neben einem Gremium machte aus jeder Themenfrage eine Sitzungsfrage — die Antwort zählte dann die komplette letzte Ratssitzung auf, Jahresabschlüsse und Straßenbenennung eingeschlossen, und der Leitfaden Fahrradstraßen kam nicht vor. Jetzt gilt: Nennt die Frage ein Thema, wird danach gesucht, und das Datum ordnet die Treffer — die jüngste echte Entscheidung steht vorn. „Was hat der Rat zuletzt beschlossen?“ ohne Thema meint weiter die Sitzung. Nachfragen im Gespräch bekommen das Mehr statt das Nochmal: Auf „Sag mir mehr zum Planfeststellungsbeschluss von 2023“ kam bisher wortgleich dieselbe Zusammenfassung wie auf die Frage davor. Die Analyse behält jetzt die Präzisierung der Nachfrage (Jahr, Dokument, Detail), statt sie auf die vorige Frage zurückzuschreiben, und die Antwort sagt im ersten Satz, wenn das nachgefragte Detail in den Unterlagen fehlt — statt die alte Antwort zu wiederholen. (#1406)
v2.6.7
2026-09-18Behoben
- •Veränderungen im Admin-Bereich sind leichter zu lesen. Aktionszahl, Zahl der Konten und Vergleich mit dem Vorzeitraum stehen klar getrennt. Günstige Entwicklungen sind grün, ungünstige rot und Veränderungen ohne eindeutige Wertung gelb; Pfeile und Vorzeichen bleiben sichtbar. (#1397)
v2.6.6
2026-09-18Geändert
- •**Nutzer*innen im Admin-Bereich gezielt finden.** Die Kontenliste zeigt aktive Tage für Web und App, lässt sich nach letzter Nutzung oder Nutzungshäufigkeit sortieren und nach Inaktivität filtern. Gesperrte Konten lassen sich ausblenden. (#1394)
v2.6.5
2026-09-17Hinzugefügt
- •Im Admin-Panel steht jetzt, welche E-Mails eine Person bekommen hat. Die Mailhistorie nennt Anlass, Betreff, Zeitpunkt und Versandstatus; ältere Einträge lassen sich nachladen. Unter Menschen → E-Mails stehen Versandmenge, fehlgeschlagene Versuche und Aufrufe über Mail-Links. Die Empfängerliste führt direkt zum Konto und lässt sich auf mindestens sieben Mails pro Woche filtern. Die Links tragen eine Markierung des Anlasses, für alle Empfänger*innen dieselbe. Gezählt werden damit anonyme Seitenaufrufe, keine eindeutig zurückgekehrten Personen oder Mail-Öffnungen. Neu gezählt wird außerdem Lottis Tour-Einladung nach der Einrichtung: ob sie erscheint, angenommen und abgeschlossen wird. (#1390)
Geändert
- •Die Verwaltung zeigt schneller, was genutzt wird und wo es hakt. Fünf Bereiche ordnen Kennzahlen, Konten, Rückmeldungen und Betriebsaufgaben. Ein neuer Überblick verlinkt direkt zu offenen Fehlern, Feedback und auffälligen Cron-Jobs. Bei neuen Konten lassen sich Anmeldewochen und Rückkehrfenster einzeln auswählen; noch zu junge Konten bleiben ausdrücklich offen. Verläufe zeigen ablesbare Einzelwerte und vollständige Tabellen. Der Mailbereich verbindet Versandstatistik und nachladbare Mailhistorien je Konto; Link-Aufrufe werden klar von Zustellung und persönlicher Rückkehr unterschieden. Kontodetails gliedern sich in Aktivität, E-Mails und Verwaltung. Alle bisherigen Verwaltungsfunktionen bleiben erreichbar. (#1392)
- •Ein wackelnder Cron-Schritt macht nicht mehr den ganzen Lauf rot. Die Straßen-Geometrie holt ihre Daten von der öffentlichen Overpass-Instanz, und die ist gelegentlich schlicht überlastet — dieselbe Abfrage antwortet mal in einer Sekunde, mal viermal hintereinander mit „server too busy". Bisher zählte das wie ein Absturz: Alarm-Mail und rote Kachel für etwas, das sich am nächsten Sonntag von selbst erledigt. Jetzt steht so ein Schritt gelb in der Cron-Übersicht, während der Lauf grün bleibt. Erst wenn er dreimal in Folge ausfällt, wird er rot und meldet sich — dann ist es kein Ausrutscher mehr. (#1391)
Behoben
- •Der Bestandslauf des Städtevergleichs brach grundlos ab. Er prüft mitten im Lauf, ob die Belegsuche noch Treffer liefert, und hielt dafür die ersten dreißig Vorlagen der Arbeitsliste hin — die stammen aber alle aus demselben Gremium und sind kein Querschnitt. Fanden sie zufällig nichts, brach der ganze Lauf nach Stunden mit der Meldung ab, die Datengrundlage sei unvollständig. Geprüft wird jetzt über die ganze Liste gestreut. (#1389)
v2.6.4
2026-09-16Geändert
- •Wartung vor der Stichwahl. Vorbereitungen im Hintergrund für den 27. September; an den Wahlseiten ändert sich für Leser*innen nichts.
v2.6.3
2026-09-15Hinzugefügt
- •Unter der Wahlkarte steht jetzt die Rangliste der Wahlbezirke für die gewählte Liste. „Wo hat meine Liste in den Wahllokalen der Stadt wie gut abgeschnitten?" — alle 133 Wahlbezirke mit Rang, sortierbar nach Anteil oder Stimmen, stadtweit oder je Wahlbereich; eine Zeile antippen zeigt den Bezirk auf der Karte. Die Briefwahlbezirke stehen dazwischen und nennen ihren Wahlbereich ausdrücklich: Ihre Nummern heißen 9xy, x ist der Wahlbereich — 921 ist der zweite Briefwahlbezirk von II, je Wahlbereich sind es sieben. Über der Karte schaltet ein Umschalter jederzeit zwischen den sechs Wahlbereichen und allen Wahlbezirken; der Zurück-Knopf, der nur in der Bezirksansicht stand, entfällt. (#1380)
Geändert
- •Die beiden Prozentspalten in „Wo die Stimmen herkamen“ erklären sich jetzt selbst. Statt „davon“ und „der Liste“ steht die Bezugsgröße in der Überschrift: „von 1.598“ heißt Anteil an allen Personenstimmen dieser Kandidatur, „von SPD hier“ heißt Anteil an allen SPD-Stimmen in diesem Wahlbezirk. Der Hinweis beim Überfahren ist ein Satz mit den Zahlen der Zeile („209 von 1.598 Personenstimmen kamen aus diesem Wahlbezirk — 13,1 %“) statt einer Definition. (#1379)
v2.6.2
2026-09-15Geändert
- •Die Wahlbezirke einer Kandidatur fahren jetzt auf wie die Tagesordnung im Sitzungen-Reiter. Rechts in der Zeile (auf dem Tisch links vor dem Namen) steht der Pfeil, der sich beim Öffnen dreht; solange die Zahlen geholt werden, dreht sich an seiner Stelle ein Spinner, und der Bereich fährt erst auf, wenn sie da sind — kein zweiter Sprung mehr. Die ganze Zeile ist der Griff und tönt sich beim Überfahren. Nebenbei behoben: Ein zugeklappter Bereich blieb ohne Bewegung (bei „weniger Bewegung“ oder in einer versteckten Liste) unsichtbar im Dokument stehen. (#1377)
v2.6.1
2026-09-15Geändert
- •In der Kandidaten-Rangliste sieht man jetzt, dass sich hinter jeder Zeile die Wahlbezirke verbergen. Statt eines winzigen Dreiecks steht vor jedem Namen ein Pfeil im Kreis; fährt man über die Zeile, tönt sie sich und der Kreis wird blau. Die ganze Zeile klappt auf, nicht nur der Name — offen ist der Kreis gefüllt und der Pfeil zeigt nach unten. (#1374)
v2.6.0
2026-09-15Hinzugefügt
- •Eine vierte Antwort: „Für Oldenburg nicht anwendbar". Bisher konnte eine Idee aus einer anderen Stadt nur vorhanden, teilweise vorhanden oder fehlend sein — auch dann, wenn sie in Oldenburg gar nicht greifen kann. Über einem Antrag zu fahrradfreundlichen Stadtbahngleisen stand deshalb „In Oldenburg nicht gefunden" und direkt darunter „Oldenburg hat kein Stadtbahnsystem". Solche Fälle bekommen jetzt eine eigene Stufe und stehen nicht mehr auf der Liste der Dinge, die Oldenburg fehlen. (#1370)
- •Wahlabend: die Kandidaten-Rangliste kennt jetzt die Wahlbezirke. Drei neue Wege zur selben Frage. Erstens steht in jeder Zeile der stärkste Wahlbezirk der Kandidatur — das Wahllokal, in dem sie die meisten Personenstimmen geholt hat („↗ 214 GS Drielake · 292"). Zweitens lässt sich die Liste auf ein Wahllokal einschränken: Dann zeigt sie die Kandidaturen, die dort auf dem Stimmzettel standen, mit den Stimmen, dem Anteil und dem Rang aus genau diesem Wahlbezirk — die Antwort auf „wer lag bei mir um die Ecke vorn?". Daneben steht die Zahl des ganzen Wahlbereichs, denn „105" sagt erst neben „von 1.539" etwas: Pascal Latko holte 10,7 % seiner Stimmen in diesem einen Wahllokal, Nujdar Saed nur 2,5 %. Die 42 Briefwahlbezirke sind mit dabei und als solche gekennzeichnet. Und drittens, weil jede Kandidatur Stimmen in jedem Wahlbezirk ihres Wahlbereichs hat — 15 bis 24 Zahlen, nicht eine: Ein Tippen auf den Namen faltet die Zeile auf und zeigt sie alle, stärkster Bezirk zuerst, mit dem Anteil an den eigenen Stimmen (wo kam das Ergebnis her?) und dem Anteil an der Liste in diesem Lokal (wie personenbezogen wurde dort gestimmt?). Ulf Prange holte seine 4.019 Stimmen aus 21 Bezirken, 292 davon in der GS Drielake. (#1363)
- •Stichwahl: die 133 Wahlbezirke kommen mit — als Grundlage für Hochrechnung und Karte. Die Ergebnisdarstellung der Stadt führt eine Ebene „Wahlbezirke“, deren Übersicht in einem einzigen Abruf den Stand aller Wahllokale trägt: gemeldet oder nicht, Wahlberechtigte, gültige Stimmen, je Kandidatur die Stimmen. Der Wahlabend liest sie jetzt jede Minute mit (
/api/wahlabend/stichwahl/bezirke), und der erste Wahlgang liegt je Bezirk eingefroren im Repo — als Vergleich, an dem sich ein Zwischenstand deuten lässt. Gemessen: Zwischen den Bezirken streute der Prange-Anteil im ersten Wahlgang um acht Punkte, die Briefwahl lag fünf Punkte anders als die Urne. Wer nur die Stadtzeile sieht, sieht davon nichts. (#1364) - •Die Stichwahl bekommt eine Hochrechnung — und eine Chance, wenn sie belastbar ist. Sobald die ersten Wahlbezirke gemeldet sind, rechnet die Seite je Bezirk hoch: Jeder offene Bezirk stimmt wie im ersten Wahlgang, verschoben um den Trend der schon gezählten — Urne und Briefwahl getrennt, weil die Briefwahl 2021 in der Stichwahl um doppelt so viel drehte wie die Urne. Ab 15 gezählten Bezirken steht eine Chance des Führenden daneben (eine Modellrechnung, keine Umfrage; gedeckelt auf 99 %), und sobald der Vorsprung größer ist als alle noch offenen Stimmen, heißt es „rechnerisch gewählt". ⓘ nennt, was das Modell annimmt und was nicht. Kalibriert an der Stichwahl 2021: Nach 30 gezählten Bezirken nannte das Modell in jeder Auszählungsreihenfolge den Sieger. (#1365)
- •Die Stichwahl bekommt ihre Karte. Die 91 Urnenbezirke, getönt nach dem Anteil des Erstplatzierten aus dem ersten Wahlgang — kräftig, wo er vorn lag, hell, wo die andere Kandidatur stärker war. Sobald ein Bezirk gezählt ist, trägt er seine Stichwahl-Tönung und einen festen Rand; offene bleiben blass und gestrichelt, man sieht die Auszählung über die Stadt laufen. Ein Bezirk antippen zeigt beide Wahlgänge nebeneinander, die Wahlbereiche lassen sich einzeln heranholen. Die Briefwahl steht als Zeile darunter, sie hat keine Fläche. (#1368)
- •Die Stichwahl-Seite hat jetzt Momente. Jede neue Meldung steht als Zeile unter der Tafel („18:42 · 12 weitere Bezirke ausgezählt — Prange +312, Rohr +298") und gleitet ein, die Karten der beiden leuchten kurz auf, die Zahlen gleiten. Wechselt die Führung, tauschen die Karten sichtbar den Platz, und die Zeile sagt, wer jetzt vorn liegt. Sobald es rechnerisch entschieden ist, tritt Lotti mit der Bühne „… ist gewählt" auf — mit dem Vorsprung und der Schranke, ohne Konfetti. Vor 18 Uhr steht statt Zahlen, was ab 18 Uhr passiert. Und der Fenstertitel trägt den Stand, damit auch ein Tab im Hintergrund ihn zeigt. Kein Push, keine Browser-Meldung — beides bräuchte eine Erlaubnis, die am Wahlabend niemand geben will. (#1367)
- •Die Stichwahl bekommt einen Verlauf. Der Dienst schreibt sich jeden neuen Stand des Abends mit — über einen Neustart hinweg — und die Seite zeichnet daraus eine Treppenlinie über die Uhrzeit: der Anteil des Erstplatzierten des ersten Wahlgangs, die 50-Prozent-Linie als die Frage des Abends, gestrichelt daneben die Hochrechnung. Jeder Führungswechsel bekommt einen Punkt; Zeiger, Finger oder Pfeiltasten lesen jeden Stand ab, samt Chance und gezählten Bezirken. (#1366)
Geändert
- •Auf den Ideen-Karten steht jetzt die Idee, nicht der Aktenname. Statt „Erneute Änderung der Parkgebührenordnung - kostenfreies Parken auf dem Wallring und an Samstagen, Einführung einer ‚Brötchentaste'" heißt die Überschrift „Parkgebührenordnung ändern"; der Titel aus dem Ratsinformationssystem steht klein darunter und bleibt der Weg zur Quelle. (#1360)
- •Stichwahl: Über dem Namen steht jetzt, wer die Kandidatur vorgeschlagen hat — nicht bloß eine Partei. Auf dem Stimmzettel ist je Kandidatur genau eine Liste zugelassen; wer dort steht, muss weder deren Mitglied sein noch ihre einzige Unterstützung haben. Bei Jascha Rohr stand deshalb „GRÜNE“ über dem Namen, als wäre es ein Parteibuch: Er ist parteilos, wurde von den Grünen vorgeschlagen und wird auch von der CDU unterstützt, die keine eigene Kandidatur aufgestellt hat. Die Seite sagt das jetzt — mit Beleg, denn anders als die Namen selbst steht es nicht in der amtlichen Bekanntmachung. Ohne Beleg zeigt die Seite solche Angaben gar nicht. (#1361)
- •Die Karte der Stichwahl zeigt, wer wo vorn liegt — in Farbe. Jeder Wahlbezirk trägt die Farbe der Person, die dort vorn liegt: Prange rot, Rohr orange, und die Farbe wird kräftiger, je deutlicher der Vorsprung. Gezählte Bezirke zeigen die Stichwahl mit festem Rand, offene noch den ersten Wahlgang, halb so kräftig und gestrichelt. Darunter steht, in wie vielen gezählten Bezirken wer vorn liegt. (#1369)
Behoben
- •In der Technik-Doku standen zwei unaufgelöste Merge-Konflikte. Auf der Seite „App und Konten" klafften seit August mitten im Text zwei Konfliktblöcke samt
<<<<<<< HEAD— einmal vor dem Abschnitt über abgewiesene Registrierungen, einmal zwischen der Erklärung der beiden Wartezustände und der Rubrik zum Adresswechsel. Beide Texte stimmten, keiner ist weggefallen; sie stehen jetzt beide da, wo sie hingehören. Ein neuer Wächter in der Testsuite sieht jede eingecheckte Datei durch und meldet Datei und Zeile, bevor so etwas wieder auf die Seite kommt. (#1372)
v2.5.1
2026-09-14Geändert
- •Wahlabend: die Karte ist groß, und die Wahlbezirke kommen je Wahlbereich. Die Karte der Wahlbereiche hat die ganze Breite statt eines Drittels, und die Wahlbezirke erscheinen nicht mehr als 91 Splitter auf einmal: Ein Wahlbereich antippen zoomt in seine 15 bis 24 Wahllokale, jedes fünf- bis sechsmal so groß und auf dem Touchscreen zu treffen; „Ganze Stadt“ bleibt als Überblick. Das Ergebnis eines Wahllokals steht neben der Karte, auf dem Handy darunter. (#1357)
Behoben
- •„Auch in 8 anderen Städten" stand auch dort, wo es nicht stimmte. Ideen werden über Städte hinweg zu Gruppen zusammengefasst; eine dieser Gruppen war in Wahrheit gar keine — sie hatte 86 Vorlagen von Sportförderung über Briefwahlbezirke bis zu einem Nachtfahrverbot für Mähroboter zusammengekettet. Weil die Liste nach der Zahl der Städte sortiert, standen deren Vorlagen ganz oben. Große Gruppen werden jetzt dreimal gegengelesen; sind sich die Durchgänge uneinig, macht die Karte keine Aussage mehr über andere Städte. (#1355)
- •Wahlabend: der Reiter „Ergebnis“ war nicht mehr erreichbar, sobald eine Liste angetippt war. Der Reiter schrieb sich nicht in die Adresse; stand dort
?liste=, sprang die Seite sofort wieder zu den Wahlbereichen. Jetzt steht jeder Reiter ausdrücklich in der Adresse. (#1358)
v2.5.0
2026-09-14Hinzugefügt
- •Das Admin-Panel zeigt jetzt auch die Registrierungen, die nicht durchkamen. Unter *Statistik* steht neben den neuen Konten, wie oft ein Registrierungsversuch abgewiesen wurde und woran er scheiterte. Der tägliche Herzschlag meldet sich zusätzlich per E-Mail, wenn ungewöhnlich viele Konten dazukommen, auffällig viele davon ihre Adresse nicht bestätigen oder die Bremse häufig greift. Gezählt werden nur Tag, Grund und Anzahl — keine Adresse, keine Domain, keine Netzadresse. (#1340)
- •Die Stichwahl um das Oberbürgermeisteramt hat eine eigene Seite. Am 13. September hat niemand die absolute Mehrheit erreicht; am 27. September entscheidet deshalb die Stichwahl zwischen Ulf Prange und Jascha Rohr.
/wahlabend/stichwahlzeigt ab 18 Uhr den Auszählungsstand beider, dazu den Abstand in Stimmen und den Vergleich mit dem ersten Wahlgang. Der Wahlabend der Ratswahl bleibt unter/wahlabend, wo er ist. (#1331) - •Tippspiel: mehrere Personen an einem Gerät. Eine Tipprunde kann im Admin den Schalter „Mehrere Personen an einem Gerät“ bekommen. Dann steht nach dem Speichern „Fertig — nächste Person“: Das Gerät vergisst den Tipp, der Tipp bleibt gespeichert, und die nächste Person tippt am selben Handy. Solange das Gerät nicht weitergegeben ist, lässt sich der Tipp weiter ändern; danach ist er fest. Die Hauptrunde bleibt, wie sie ist. (#1317)
- •Der Beamer fürs Tippspiel zur Ratswahl. Unter
/tipp/liveläuft am Wahlabend das Herzstück: vor der ersten Hochrechnung der QR-Code zum Mitmachen, danach automatisch abwechselnd der Vergleich (Halbkreis, Liste gegen Ø-Tipp, OB-Prozente) und das Scoreboard mit Podium — bei einem Führungswechsel einmal Konfetti, jede Zeile trägt ihren Rangwechsel als ▲▼-Chip. Dunkel als Vorgabe fürs Wohnzimmer, aber wie überall sonst auf Hell umstellbar. (#1287) - •Zu jeder Wahl gibt es ein Tippspiel — vorerst für Angemeldete. Auf
/wahlensteht neben jeder anstehenden Wahl der Weg zum Mittippen. Neue Runden laufen über das Konto: In der Rangliste steht dein Anzeigename, dein Tipp ist auf jedem Gerät derselbe, und es bleibt bei einem Tipp je Konto. Im Admin lässt sich eine Runde für alle freischalten — dann geht es wieder ohne Konto, unter einem selbst gewählten Namen. Das Tippspiel zur Ratswahl bleibt offen, wie es war. (#1347) - •Das Tippspiel kann mehrere Runden. Ein Kreis, der unter sich tippen will, bekommt einen eigenen Link (
/tipp?runde=…) mit eigenen Tipps, eigener Rangliste und eigenem Beamer — nichts davon steht auf der Website. Verwaltet werden alle Runden über dieselbe Admin-Seite, auch die Handeingabe der Ergebnisse. (#1305) - •Verwaltung fürs Tippspiel zur Ratswahl. Unter
/tipp/adminträgt die Wahlleitung am Wahlabend die Hochrechnung ein — je Liste die Sitze, je OB-Kandidatur die Prozente —, sieht auf einen Blick, wie viele Tipps im Schnitt danebenliegen, und veröffentlicht den Stand erst bewusst per Knopf, statt dass ein Tippfehler sofort auf dem Beamer landet. Dazu die Phasensteuerung (Tippen offen → Tipp-Schluss → Live → Endergebnis) und die Teilnehmerliste zum Umbenennen oder Ausblenden einzelner Tipps. Die Seite steht bewusst außerhalb des Feature-Schalterstippspiel, damit sich das Spiel vorbereiten lässt, bevor es öffentlich freigeschaltet wird. (#1285) - •Tippspiel zur Ratswahl am 13. September 2026. Unter
/tippverteilt man 52 Sitze auf die 16 Listen und tippt optional, wie viel Prozent die neun OB-Kandidaturen holen — ganz ohne Konto, ein Name genügt. Vor der ersten Hochrechnung lässt sich der Tipp beliebig ändern; danach zeigt die Seite den eigenen Rang, die Punkte (5 je exakt getroffener Liste, 3 bei ±1, 1 bei ±2 Sitzen, dazu ein Bonus für die OB-Prozente) und den eigenen Tipp Zeile für Zeile gegen den Stand. Wer erst nach der ersten Hochrechnung dazustößt, darf trotzdem mittippen — als „nachgetippt" gekennzeichnet. Die Seite hängt am Feature-Schaltertippspiel. (#1284) - •Das Ergebnis der Ratswahl 2026 liegt jetzt im Repo. Die Open-Data-Dateien der Stadt stehen unter einer Adresse, die den Wahltag trägt, und verschwinden dort irgendwann; die Zahlen der OB-Wahl gibt es ohnehin nur als JSON hinter einer Wahl-Id. Beides ist gesichert — samt dem Minutenverlauf des Abends und der nachgerechneten Sitzverteilung, die sich mit der des Votemanagers deckt. Damit hat die nächste Kommunalwahl dieselbe Grundlage für Vergleich und Hochrechnung, die 2026 die Zahlen von 2021 waren. (#1328)
- •Wahlabend: einzelne Kandidaturen beobachten — quer über alle Listen. Die Rangliste führt 383 Kandidaturen; wer fünf Namen verfolgt, musste bisher fünfmal filtern. Mit einem Konto setzt ein Stern an der Zeile die Kandidatur auf die eigene Liste, und über der Rangliste stehen alle beobachteten nebeneinander — in der Reihenfolge des stadtweiten Rangs, mit Stimmen, Anteil und Stand. Gemerkt wird am Konto, nicht im Browser: Der Stern, den du am Schreibtisch setzt, ist auf dem Telefon auch da. Ohne Konto steht an der Stelle ein Satz, der sagt, wozu es eines braucht. (#1356)
- •**Wahlabend: alle Kandidat*innen als eine Rangliste — und die Seite hat jetzt drei Reiter.** Unter *Kandidat\*innen* stehen alle 383 Kandidaturen der Ratswahl nach Personenstimmen, sortierbar nach Liste, Wahlbereich oder Name und filterbar auf eine Liste und einen Wahlbereich. Der Rang ist stadtweit und bleibt es auch gefiltert. Dazu zwei Zahlen, die die Frage „wie kommt jemand auf so viele Personenstimmen?" beantworten: je Person ihr Anteil an allen Stimmen der eigenen Liste im Wahlbereich, je Liste der Anteil ihrer Stimmen, der an Personen statt an die Liste ging (2026: SPD 50 %, AfD 36 %). Sortiert und gefiltert wird auf dem Server (
GET /api/wahlabend/kandidaten), damit Web und App dieselbe Liste zeigen. Die bisherige Seite ist auf die Reiter *Ergebnis* und *Wahlbereiche* verteilt; die Tafel mit dem Auszählungsstand steht über allen dreien. (#1350) - •Wahlabend: Ein Bild zum Teilen für jede Liste, jeden Wahlbereich und jede Person — als Beitrag oder Story. Neben dem Gesamtbild gibt es jetzt je Liste eine Karte mit Stimmenanteil, Sitzen und Stimmen samt Abstand zu 2021, dem Rang unter den Listen und einem Halbkreis, in dem nur die eigenen Sitze Farbe tragen; je Liste im Wahlbereich eine Karte mit den Personenstimmen der Bewerber*innen als Balken, und je Person eine Karte mit Personenstimmen, Platz nach Stimmen und Status. Auf jeder Karte dankt Lotti den Wählenden. Jede Karte gibt es als Instagram-Beitrag (4:5), als Story (9:16) und quer für Link-Vorschauen; die Links stehen in der Ansicht neben der Liste, an jeder Wahlbereichs-Karte und an jeder Person, und ein Hinweis unter der Anzeigetafel zeigt, dass das neu ist. (#1325)
- •Alle Wahlen auf einer Seite — und `/wahl` führt immer zur richtigen.
ratslotse.de/wahlenzeigt die nächste Wahl mit Countdown und darunter die gelaufenen mit ihrem Ergebnis, bis zurück zur Ratswahl 2021. Die kurze Adresseratslotse.de/wahlleitet immer auf die Wahl, die gerade dran ist — ab zwei Tagen vor dem Wahlsonntag auf diese, danach auf die nächste. Ein Ergebnis von damals braucht dafür keinen Abruf mehr bei der Stadt: Die Zahlen liegen bei uns. (#1343) - •Wahlabend: eine Karte für die Wahlbereiche — und eine Ebene tiefer für die 91 Wahlbezirke. „Wo ist eigentlich Wahlbereich V?" stand bisher nirgends: Die Seite kannte die sechs Wahlbereiche nur als römische Ziffern. Neben der Rangfolge liegt jetzt eine Karte mit den amtlichen Grenzen der Stadt (openGEOdata, Datenlizenz Deutschland – Zero); je kräftiger eine Fläche, desto stärker die gewählte Liste dort, und ein Antippen springt zu ihrer Karte. Ein Umschalter zeigt statt der sechs Wahlbereiche die 91 Wahlbezirke: Antippen öffnet das Ergebnis dieses Wahllokals mit Stimmen, Anteilen und Wahlbeteiligung. Die 42 Briefwahlbezirke haben keinen Ort und stehen deshalb als eine Zeile darunter — sie zu verschweigen hieße, ein Drittel der Wählenden verschwinden zu lassen. Gezeichnet wird ohne Kartendienst: Die Umrisse liegen als kleines GeoJSON im Repo, die Karte folgt dem hellen und dunklen Erscheinungsbild. (#1354)
- •Eine neue Wahl im Kalender der Stadt fällt jetzt von selbst auf. Bisher erfuhr man von einem Wahltermin aus der Zeitung, und ob die Seite ihn technisch findet, zeigte sich erst am Wahlabend. Ein täglicher Lauf vergleicht den Terminkalender des Votemanagers mit dem, was Ratslotse kennt, und meldet beides: eine unbekannte Wahl und eine Wahl, deren Zahlen kurz vor dem Wahltag immer noch nicht bereitstehen. (#1344)
- •Wolfsburg ist im Städtevergleich dabei. 1.571 Vorlagen aus 453 öffentlichen Sitzungen stehen jetzt neben Oldenburg, Hannover, Osnabrück, Braunschweig, Münster, Magdeburg und Potsdam — und wachsen wöchentlich nach. (#1339)
Geändert
- •Der Wochenlauf lässt vergangene Sitzungen liegen. Bisher holte er die Seite jeder Sitzung neu — auch die einer Ratssitzung von 2019, an der sich nichts mehr ändert. Jetzt werden nur noch Sitzungen abgerufen, die neu sind, kein Datum tragen oder weniger als drei Monate zurückliegen; in dieser Zeit kommt die Niederschrift nach. Für Wolfsburg fallen damit 451 von 652 Abrufen je Woche weg. Gleichzeitig ist der Mindestabstand zwischen zwei Anfragen an dieselbe Stadt fest auf eine Sekunde gesetzt — er ließ sich vorher heruntersetzen — und unsere Kennung nennt die Kontaktseite jetzt direkt statt auf das Impressum zu verweisen. (#1336)
- •Deine Neuigkeiten haben auf „Heute“ ein eigenes Widget. Web und iOS zeigen zuerst die drei jüngsten ungelesenen Beschlüsse mit einem sichtbaren Bezug zu deinen Themen. Ein Beschluss zählt auch bei mehreren passenden Themen nur einmal und lässt sich direkt als gelesen markieren. Wenn alles gelesen ist, bleibt ein ruhiger Hinweis; Ladefehler lassen sich im Widget erneut versuchen. Der Baustein lädt unabhängig vom übrigen Tagesüberblick und bereitet eine spätere persönliche Auswahl der Heute-Widgets vor. (#1294)
- •Heute zeigt, was seit deinem letzten Besuch hinzugekommen ist. Der allgemeine Rückblick ersetzt die Themen-Karte: neue und geänderte Tagesordnungen sowie ergänzte Protokolle mit Ergebnissen erscheinen auch ohne Themen-Abos. Web und iOS teilen sich den Besuchszeitraum. Auch nach Monaten bleibt die Übersicht kompakt: Ergänzungen werden nach Art und Gremium gebündelt, Sitzungen schrittweise nachgeladen. Tagesordnungen vergangener Sitzungen fallen heraus, Protokolle bleiben zugänglich. Dezente Animationen verdeutlichen das Aufklappen; beim ersten Besuch zeigt es ausdrücklich die letzten sieben Tage. (#1296)
- •Die Widgets auf Heute sprechen dieselbe Designsprache. Rückblick, Wochenübersicht, Zahl der Woche, Mein Viertel, zuletzt angesehene Beschlüsse und Fundstück haben einen gemeinsamen Kopf mit Icon links, gleicher Schrift und Trennlinie. Der Rückblick braucht weniger Platz. Das Layout unterstützt ein- und zweispaltige Karten: Je nach tatsächlich verfügbarer Breite zeigen sie unterschiedlich viele Einträge und Erläuterungen. Auf dem Handy und bei großer Schrift bleibt die Darstellung kompakt; weitere Inhalte bleiben erreichbar. (#1302)
- •„Mein Viertel“ zeigt jetzt, was vor Ort passiert. Statt bloßer Ortsnamen und Zahlen stehen konkrete Vorhaben mit Erklärung, Planungsstand und dem Datum der letzten Ratsberatung auf Heute. Eine anstehende Beratung in den nächsten zwei Wochen bekommt Vorrang. Zahlen sind als Vorhaben beschriftet; Links führen direkt zum Vorhaben oder zur Tagesordnung. Auf kleinen Karten erscheinen zunächst zwei Viertel, weitere lassen sich einblenden. (#1306)
- •Sitzungsdetails haben einen klar gegliederten Kopf. Gremium, Termin und Ort stehen gemeinsam in einer Karte; die Aktionen folgen in einer einheitlichen Leiste. Das Datum erscheint einmal vollständig, lange Ortsangaben bleiben lesbar. Auf kleinen Displays und bei großer Schrift ordnen sich Angaben und Aktionen untereinander an. (#1312)
- •Wahlabend und Tippspiel wissen selbst, um welche Wahl es geht. Titel, Datum, Wahlschluss und Sitzzahl standen an gut einem Dutzend Stellen als fester Text — in Überschriften, im Countdown, im Seitentitel, den geteilte Links und Suchmaschinen zeigen. Jetzt kommen sie aus der Wahl selbst. Für Leser*innen ändert sich nichts; die nächste Wahl braucht dafür keine Codeänderung mehr. (#1338)
- •Ein neuer Tipp fängt bei null an, und der Knopf sagt, was noch fehlt. Das Tippformular schlug bisher die Sitzverteilung von 2021 vor — wer nur abgab, tippte damit unbemerkt das letzte Ergebnis nach. Jetzt stehen alle Listen auf 0, und statt „Tipp abgeben" steht auf dem gesperrten Knopf, wie viele Sitze noch zu verteilen sind (oder wie viele zu viel sind). Die 2021er Zahl bleibt als Anhaltspunkt unter jeder Liste stehen. (#1314)
- •Das Tippspiel spricht verständlicher. Klarere Texte beim Mitmachen, Tippen und Vergleichen erklären die Punkte und später abgegebene Tipps. Auch Rangliste, Beamer-Anzeige und Verwaltung verwenden einheitliche, alltägliche Begriffe. (#1297)
- •Eine Tipprunde gehört jetzt zu einer bestimmten Wahl. Bisher verglich das Tippspiel gegen „den Wahlabend" — wer immer das gerade war. Eine Runde von heute hätte bei der nächsten Kommunalwahl gegen die neuen Zahlen gepunktet und jede Platzierung rückwirkend verschoben. Auch die erreichbare Höchstpunktzahl kommt jetzt aus der Wahl statt aus einer festen Zahl im Code. Für Mitspielende ändert sich nichts. (#1341)
- •Der Vergleich mit der letzten Wahl nennt seinen Namen selbst. Wo bisher „2021" fest im Code stand — im Feldnamen der Schnittstelle, in den Texten der Seite und auf den Bildern zum Teilen —, sagt jetzt die Wahl, mit welcher sie sich vergleicht. Für Leser*innen ändert sich nichts; bei der nächsten Kommunalwahl steht dort von selbst die richtige Zahl statt einer falschen. (#1333)
- •Welche Wahl der Wahlabend zeigt, steht jetzt an einer Stelle. Bisher war „Ratswahl Oldenburg, 13. September 2026" über acht Stellen im Code verteilt — Adressen, Wahl-Ids, der Zeitpunkt des Wahlschlusses, Register und Vergleichsjahr. Eine Wahl ist jetzt eine Datei mit diesen Angaben; für Leser*innen ändert sich nichts, aber die nächste Wahl braucht keinen Umbau mehr, sondern einen Eintrag. (#1329)
- •Wahlabend: Der Status einer Kandidatur sagt, welche Aussage von wem stammt. „drin · direkt · Hochrechnung: raus" las sich wie ein Widerspruch. Jetzt heißt es „nach Auszählung drin (direkt) · laut Hochrechnung raus" und „laut Hochrechnung drin (über die Liste)". (#1323)
- •Wahlabend: Die hochgerechnete Stimmenzahl in der Kandidatenzeile ist beschriftet. Hinter dem Pfeil stand nur eine Zahl; jetzt steht „Hochr. → 652" davor, dazu ein Tooltip, was gemeint ist. (#1324)
- •Wahlabend: je Wahlbereich drei Kandidaturen, der Rest auf Knopfdruck. Die Karten der Wahlbereiche führten alle Kandidaturen einer Liste — bei SPD und Linke sind das bis zu zwölf je Wahlbereich, auf dem Telefon also rund siebzig Zeilen für eine Liste. Jetzt stehen drei da und der Rest hinter „9 weitere Kandidaturen“. Welche drei, entscheidet nicht der Listenplatz allein: Wer gewählt ist, steht immer dabei — auch von Platz 9, denn Listensitze und Übergänge treffen nicht die Stimmstärksten —, danach kommt, wer knapp am Sitz ist. Gezeigt werden sie in der Reihenfolge des Stimmzettels, und die Balken messen weiter gegen die ganze Liste. (#1353)
- •Wahlabend: je Liste, wo sie ihre Stimmen holt — und woran ihr letzter Sitz hing. Unter *Wahlbereiche* stehen die sechs Wahlbereiche jetzt in der Rangfolge der gewählten Liste, nach absoluten Stimmen statt nach Prozent: Danach verteilt das Kommunalwahlgesetz die Sitze einer Liste auf die Wahlbereiche (§ 37 Abs. 3), und die beiden Reihenfolgen fallen wirklich auseinander — bei sieben der sechzehn Listen von 2026. Dazu zwei Etiketten, die es vorher nirgends gab: Wo der letzte Sitz einer Liste gelandet ist und wohin ihr nächster ginge. Beides hängt am größten Rest der Sitzverteilung, der Stelle also, an der ein Ergebnis knapp sein kann, ohne dass man es den Stimmen ansieht. Die Karten darunter führen die Stimmen jetzt als große Zahl, den Anteil klein daneben. (#1352)
- •Die Wahlen-Übersicht hat jetzt eine Bühne. Die Wahl, auf die gerade alles zeigt, steht groß oben — mit Lotti, deren Haltung zur Lage passt (sie winkt, solange die Wahl noch kommt, staunt beim Auszählen und hebt danach den Pokal), und mit den vorderen Listen als farbige Punkte statt eines Satzes. Wer nicht angemeldet ist und ein Tippspiel verpasst, das nur mit Konto geht, bekommt das gesagt — mit Namen der Wahl, nicht mit einem allgemeinen „Jetzt anmelden". (#1348)
- •Die Registrierung prüft E-Mail-Adressen strenger. Adressen bestimmter Anbieter werden bei der Registrierung und beim Adresswechsel nicht mehr angenommen. Die großen Postfach-Anbieter und Apples „E-Mail verbergen“ sind davon nicht betroffen. (#1335)
- •Die Wählergemeinschaft Für Oldenburg heißt in Wahlabend, Tippspiel und Wahlprogramm-Vergleich jetzt „WFO". Der bisherige Kurzname „Für Oldenburg" war derselbe wie der der Gruppe im Rat — die mit der Wahlliste nichts zu tun hat. Die Ratsgruppe heißt weiter so, die Liste trägt ihr amtliches Kürzel. (#1307)
- •Die Wochenübersicht lässt den Sitzungsinhalten mehr Platz. Wochentag und Datum stehen untereinander. Die schmalere Datumsspalte schafft mehr Breite für Gremien und Tagesordnungspunkte. Auf dem Handy bilden Datum und Ausschuss eine Kopfzeile; die Punkte nutzen darunter die volle Breite. Horizontale Trennlinien gliedern die Sitzungen. (#1304)
Behoben
- •Das Admin-Panel zeigt Themen und Ausschuss-Abos vollständig. In der Nutzer*innen-Ansicht standen bisher nur die ersten vier Namen in einer Zeile, die dann auch noch abgeschnitten wurde — bei einem Konto mit zehn Themen und fünfzehn Abos waren zwei bzw. einer zu sehen, ohne Hinweis darauf, dass mehr da sind. Jetzt steht jeder Name als eigene Pille darunter, die Ausschüsse alphabetisch sortiert. Beide Listen lassen sich auf- und zuklappen; ab acht Einträgen starten sie zugeklappt, damit Zustellung, Verlauf und Rollen darunter im Blick bleiben. (#1276)
- •„Der Wahlabend läuft" stand auch noch am Tag danach da. Der Hinweis auf der Startseite und in „Heute" kannte nur zwei Zustände: vor der Wahl und während. Jetzt gibt es einen dritten — nach dem Wahltag verweist er auf das Ergebnis statt auf einen Abend, der vorbei ist. (#1345)
- •Wolfsburgs Wochenlauf: die restlichen drei Viertel. Neben Element-IDs und Sitzungs-Token ändert das dortige Ratsinformationssystem bei jedem Abruf auch den Merkzettel des Tagesordnungsbaums und die Version in den Anlagen-Verweisen. Beide werden für den Vergleich jetzt ebenfalls herausgerechnet; von 150 nachgemessenen Vorlagenseiten gilt danach keine einzige mehr grundlos als verändert. (#1334)
- •Wolfsburgs Wochenlauf holte jedes Mal den ganzen Bestand neu. Das dortige Ratsinformationssystem liefert dieselbe Seite nie bitgleich aus: Element-IDs, Sitzungs-Token und Seitenzähler ändern sich bei jedem Abruf. Für den Vergleich werden sie jetzt herausgerechnet — abgelegt wird weiterhin die Antwort des Servers, unverändert. Statt 2.261 Abrufen je Woche bleiben die übrig, hinter denen wirklich etwas Neues steht. (#1330)
- •„Zuletzt angesehen" auf der Heute-Seite der App nannte die Abstimmung auf Englisch. In der Fußzeile der Karte stand das rohe „unanimous" statt „Einstimmig"; die Beschluss-Seite übersetzte den Wert längst, die Heute-Karte hatte den Übersetzer nicht benutzt. (#1259)
- •Beschlüsse und ihre Quellen sind im Web und in der iOS-App besser lesbar. Kurzfassungen, amtliche Texte und Antworten haben größere Schrift. Gremium, Datum und KI-Hinweise sind deutlicher zu erkennen; lange Quellentitel werden vollständig umbrochen. Auswahlknöpfe und Quellenzeilen bieten auch bei vergrößerter Schrift ausreichend Platz, im hellen wie im dunklen Design. Auf dem Handy stehen Themenfeld, Schlagwörter und verknüpfte Themen hinter einer kompakten Zeile „Stichwörter“, die sich bei Bedarf aufklappen lässt. (#1292)
- •Wer in der Stichwahl steht, waren zwei Parteien statt zweier Menschen. Die Ergebnisdarstellung der Stadt schreibt die Namen in zwei Formen — 2021 „Krogmann, Jürgen (SPD)", 2026 „Ulf Prange (SPD)". Die zweite hat der Auslesen falsch zerlegt und die Partei als Kandidatur ausgegeben. Zu sehen war das nirgends, geantwortet hat die Schnittstelle trotzdem falsch. (#1331)
- •Die Suche behält beim Zurückgehen ihren Stand. Nach dem Öffnen eines Beschlusses bleiben Suchbegriff, Filter, Sortierung und Ergebnisseite erhalten; der Rückweg führt wieder zum geöffneten Treffer. Suchlinks lassen sich mit allen Einstellungen teilen und erneut öffnen. (#1291)
- •Sitzungen mit einem abgesetzten Tagesordnungspunkt waren nicht mehr erreichbar. Die vorläufigen Abstimmungsergebnisse aus der Videoaufzeichnung kennen ein Ergebnis, das es im Protokoll nicht gibt: „abgesetzt". Die Schnittstellenbeschreibung führte es nicht, und deshalb scheiterte die Ratssitzung vom 29.06.2026 mit ihren fünf abgesetzten Punkten beim Ausliefern — die Sitzungsseite zeigte „nicht gefunden", die Beschluss-Seiten dieser Sitzung verloren still ihre Nachbar-Punkte. Nebenbei geräuschloser: Ein Abruf, dessen Ausbleiben eine Seite bewusst verkraftet, meldet sich nicht mehr mit einem roten Hinweis. Auf einer Seite, die vollständig dasteht, war „Da ist etwas schiefgegangen" eine Beunruhigung ohne Handlungsmöglichkeit. (#1293)
- •Wahlabend: Die Spaltenprobe vergleicht nach Namen, nicht nach Position. Die Ergebnistabelle des Votemanagers führte den Einzelwahlvorschlag nicht, und ab dieser Spalte galt jede Liste als verrutscht, obwohl die Zahlen stimmten. Fehlt ein Einzelwahlvorschlag in der Tabelle, ist das kein Befund mehr; gemeldet werden nur unbekannte Namen, fehlende Listen und eine geänderte Reihenfolge. Der Hinweis auf unbesetzte Sitze ist im Zwischenstand als solcher gekennzeichnet. (#1322)
v2.4.0
2026-09-10Hinzugefügt
- •Die Liste „Ideen aus anderen Städten" bekommt einen eigenen Prüfstand. Bisher ließ sich messen, ob ein einzelnes Urteil stimmt — ob die zwanzig obersten Einträge zwanzig sind, die ein Ratsmitglied sehen will, ließ sich nicht messen. Man kann jedes Einzelurteil verbessern und die Liste dabei verschlechtern; ohne diese Zahl merkt es niemand. (#1242)
- •Der Städtevergleich holt jetzt auch die Sitzungsprotokolle — und schneidet sie auf. Bisher lud er nur die Vorlage selbst; die Niederschrift der Sitzung, in der über sie entschieden wurde, blieb liegen, obwohl die Schnittstellen sie nennen. In ihr steht, was der Vergleich bisher nicht zeigen konnte: *warum* ein fremder Rat so entschieden hat. Jede Niederschrift wird entlang ihrer Tagesordnung geschnitten, damit zu jeder fremden Vorlage genau der Abschnitt vorliegt, der sie behandelt. Gemessen an 38 echten Protokollen aus fünf Städten bekommen 82 Prozent der Tagesordnungspunkte ihren Abschnitt. Eine Stadt, die Protokoll-Adressen nennt und keine ausliefert, wird nach drei Fehlversuchen übersprungen statt sechshundertmal vergeblich gefragt. Was daraus auf der Karte zu lesen sein wird, kommt im nächsten Schritt: Der Annotator, der das Warum aus den Abschnitten liest, ist gebaut und bleibt vorerst ausgeschaltet — sein Prüfstand braucht erst einen Maßstab, den ein Mensch gesetzt hat. (#1266)
- •Der Städtevergleich unterscheidet jetzt, ob ein Rat eine Idee wollte oder sie abgelehnt hat. „Verpackungssteuersatzung erlassen" und „Verpackungssteuer-Prüfung einstellen" behandeln dieselbe Sache und standen beide als fehlende Idee auf der Liste — die Karte zählte damit eine Stadt für etwas, das sie gerade gestoppt hat. Jede Idee trägt jetzt ihre Haltung, und die Karte kann sagen: vier Räte dafür, einer dagegen, zwei prüfen erst. (#1244)
- •Der Städtevergleich bekommt seinen wöchentlichen Lauf. Der Job, der Vorlagen und Beschlüsse der fünf Vergleichsstädte holt und durch Einordnung, Suche und Bewertung zieht, war seit Wochen gebaut und stand in keiner crontab — neue Beschlüsse aus Braunschweig oder Potsdam erschienen deshalb nie. Dazu ein Weg, den hier erarbeiteten Datenstand auf einen Server zu legen, statt ihn dort in Stunden neu zu berechnen. (#1246)
- •E-Mail-Adresse ändern. Unter *Mein Konto* lässt sich die Adresse wechseln: Passwort bestätigen, den Link an die neue Adresse klicken, fertig — Themen, Merkliste und Abzeichen bleiben. Bis der Link geklickt ist, ändert sich nichts, und die bisherige Adresse wird über den Wechsel informiert. Auch nach einem Tippfehler bei der Registrierung: Der Hinweis „Bitte bestätige deine E-Mail" bietet die Korrektur jetzt selbst an, statt in eine Sackgasse zu führen. (#1237)
- •Wer etwas vorschlägt, erfährt jetzt, wenn es umgesetzt ist. Beim Abhaken einer Rückmeldung im Admin-Bereich lässt sich der absendenden Person eine E-Mail schicken — mit einem passenden Kernsatz je Art (Vorschlag umgesetzt, Fehler behoben, Anfrage erledigt), der ursprünglichen Nachricht als Zitat und optional ein paar Zeilen von uns dazu. (#1255)
- •Der Wahlabend hat einen zweiten Weg zu den Zahlen. Bleiben die Open-Data-CSVs des Votemanagers am Wahlsonntag leer oder ohne Personenstimmen, liest die Seite dieselben Zahlen aus den JSON-Dateien, mit denen der Votemanager seine eigene Ergebnisdarstellung füllt: je Wahlbereich Listen- und Personenstimmen, jede Bewerber*in in Listenreihenfolge. Sitze und Namen erscheinen damit, sobald die Stadt selbst etwas zeigt. Die CSV bleibt die erste Quelle; ein Hinweis auf der Seite sagt, wenn der Ersatz greift. Dazu eine Gegenprobe am Ende der Auszählung: Weicht die Sitzverteilung, die der Votemanager ausweist, von der eigenen Zuteilung ab, steht das sichtbar in den Hinweisen. (#1234)
Geändert
- •Der Städtevergleich urteilt je Idee nach der Mehrheit, nicht nach der jüngsten Vorlage. Beantragt eine Stadt eine Sache dreimal, bekam jede Vorlage ihr eigenes Urteil — und die Karte zeigte das der jüngsten, auch wenn die beiden anderen widersprachen. Jetzt steht „3 von 5 Vorlagen" daneben. Außerdem erkennt die Bewertung Prüfaufträge sauberer als eigene Haltung, und die Seite lädt wieder so schnell wie vor der Haltungs-Zeile. (#1262)
- •„Ideen aus anderen Städten" zählt jetzt Ideen, nicht Vorlagen. Wer eine Sache dreimal beantragt, steht dreimal auf der Liste — Potsdam etwa mit drei Anläufen zum selben Denkmalpflege-Konzept. Von den Einträgen mit mehreren beteiligten Städten waren so gut drei Viertel Wiederholungen. Gezeigt wird jetzt der jüngste Anlauf, die übrigen hängen daran. Außerdem zeigt die Seite endlich die neue Bewertung: Sie las noch die alte Fassung mit 1.254 Urteilen, während 9.484 daneben lagen. (#1239)
- •Die Karte „Ideen aus anderen Städten" zeigt jetzt, wie die anderen Räte zur Sache standen. Unter jeder Idee steht „10 dafür, 4 prüfen erst, 2 dagegen", und eine Vorlage, die die Sache selbst bremst, trägt das Wort „Gegenrichtung" — bis dahin stand ein Antrag, der eine Steuer verhindern wollte, unmarkiert unter den fehlenden Ideen. Wer eine Sache mehrfach beantragt hat, steht außerdem einmal da; die übrigen Anläufe klappen auf. (#1254)
- •Auf „Ideen aus anderen Städten" steht jetzt nur noch, was jemand vorgeschlagen hat. Antworten der Verwaltung, Mitteilungen und Berichte sind keine Ideen, die Oldenburg fehlen — sie sind die Reaktion auf eine, und die Idee selbst steht in der Anfrage daneben. Von den Einträgen, die mehrere Städte teilen, waren zwei Fünftel solche Reaktionen. (#1241)
- •Frag den Rat fragt zurück, statt irgendetwas zu antworten. Auf „Was hast du?" kam bisher eine ordentlich belegte Auskunft über die Arbeit des Stadtrats — die Suche findet immer etwas, und das Antwort-Modell macht daraus etwas Plausibles. Nennt eine Frage gar keinen Gegenstand, sagt Lotti das jetzt, erklärt in einem Satz, worüber sie Auskunft geben kann, und schlägt konkrete Fragen aus dem Bestand vor. Wer eine Ratsperson, einen Ort oder eine Sitzung nennt, bekommt weiterhin seine Antwort: Eine beantwortbare Frage abzuweisen wäre der teurere Fehler. Dieselbe Rückfrage kommt jetzt auch statt einer gründlichen Recherche — die kostete sonst eine halbe Minute, ein Vielfaches einer normalen Antwort und eine der fünf Recherchen des Tages für eine Frage, die niemand gestellt hat. (#1261)
- •„Frag den Rat" in der App lässt sich wieder lesen, während man tippt. Die Tastatur geht weg, sobald man neben das Eingabefeld tippt, am Gespräch zieht oder eine Frage abschickt — vorher blieb sie stehen und vom Gespräch war ein Drittel übrig. Wer hochgescrollt hat, springt über „Zum Ende" zurück an die letzte Antwort. Die Quellenliste und die Orte-Karte zeigen auf dem iPhone zuerst nur ihre Kopfzeile mit den Zahlen und öffnen sich auf Tipp. Lange drücken auf die eigene Frage bietet „Noch einmal fragen", „Bearbeiten" und „Kopieren". Und wer während einer laufenden Antwort kurz die App wechselt, bekommt sie trotzdem: Die App bleibt dafür bis zu 30 Sekunden wach, und reißt die Verbindung doch, fragt sie beim Zurückkommen einmal von selbst noch einmal. (#1247)
- •Auf der Heute-Seite der App lässt sich die Frage direkt eintippen. Das Feld unter „Frag den Rat" nimmt den Text an und stellt die Frage beim Absenden sofort — vorher wechselte schon der Tipp ins Feld die Ansicht. Außerdem: Das Ende der Heute-Seite und jeder anderen Registerkarte liegt nicht mehr unter der Tab-Leiste; die Stadtkarte ist auf dem Telefon gut zwei Drittel der Höhe statt eines knappen Drittels; und „Zum Ende" im Gespräch erscheint erst, wenn man wirklich ein Stück hochgescrollt hat. (#1248)
- •Die Stadtkarte füllt in der App das ganze Telefon. Bisher stand sie in einem kleinen Fenster über einer scrollenden Tafel, deren Kopf die Kartenkante abschnitt. Jetzt ist die Karte die Bühne — randlos bis unter die Tab-Leiste — und die Tafel liegt als Schublade darüber: ein Griff zum Ziehen, drei Stellungen (nur der Kopf, halb, ganz), die Kamera legt Umriss und Vorhaben immer in den freien Teil. Neu ist der Standort-Knopf: Ein Tipp öffnet den Ortsbereich, in dem du gerade stehst (einmalige Abfrage, keine Verfolgung). Nachbar-Chips wechseln das Viertel auf derselben Karte, statt eine neue darüber zu legen; die Bündel der Themen-Orte richten sich nach der Schirmbreite und liegen auf dem iPhone nicht mehr übereinander. (#1251)
- •Der Anzeigename ist jetzt Pflicht — und im Admin-Panel endlich zu sehen. Bei der Registrierung war das Namensfeld freiwillig, im Admin-Panel stand trotzdem nur die E-Mail-Adresse: Ein Konto war dort eine Adresse und keine Person. Beides ist behoben. Wer sich neu anmeldet, trägt seinen Namen ein (der Vorname genügt); wer über Apple kommt — Apple gibt den Namen nur bei der allerersten Anmeldung heraus und auch nur auf Wunsch —, wird direkt danach einmal gefragt. In der Nutzerliste des Admin-Panels steht der Name jetzt vorn, die Adresse blass daneben, und die Suche findet beides. Bestehende Konten ohne Namen bleiben unangetastet. (#1270)
- •Die Analyse zeigt unter „Trends" nur noch die Rückblicke je Themenfeld. Die beiden Quartalsgrafiken („Beschlüsse je Quartal", „Erkanntes Finanzvolumen je Quartal") und die Schlagwortliste „Aktuell aufkommende Themen" sind entfallen — sie standen auf einem veralteten Datenstand und haben mehr angedeutet, als sie belegen konnten. In der App fällt derselbe Block („Neue Themen") weg. (#1268)
Behoben
- •Ein deaktiviertes Konto schaltete sich über „Mit Apple anmelden" selbst wieder frei. Der Verknüpfungspfad las den Kontostand „pending" als „E-Mail noch nicht bestätigt" — er bedeutet aber auch „von einem Admin deaktiviert". Wer eine Apple-ID mit derselben bestätigten Adresse hatte, hob die Sperre damit auf. Freigeschaltet wird jetzt nur noch, wer wegen der unbestätigten Adresse wartete. (#1240)
- •Die Beispielfragen auf der leeren Fragen-Seite meinen wieder etwas. Dort stand „Was wurde zu ‚Beratung von nichtöffentlichen Tagesordnungspunkten im …' entschieden?" — der Vorschlag stammte aus einer Sitzung mit einem einzigen Tagesordnungspunkt, und deren wichtigster Beschluss ist zwangsläufig Verfahrenskram. Vorgeschlagen werden jetzt nur noch Sitzungen mit Substanz, und der Server liefert den Gegenstand schon zurechtgestutzt statt jeden Client selbst schneiden zu lassen. In der App erschienen die frischen Vorschläge nebenbei überhaupt zum ersten Mal: Sie las die Liste unter dem falschen Namen und zeigte deshalb immer nur ihre eingebauten Beispiele. (#1261)
- •Der Städtevergleich findet wieder, was Oldenburg hat. Nachdem alle sechs Städte durchsuchbar gemacht wurden, fiel ausgerechnet die Suche nach den Oldenburger Gegenstücken aus: Sie las eine Bestenliste, die vorher fast nur Oldenburger Vorlagen enthielt und nun von den anderen Städten gefüllt wurde. Sie fragt jetzt direkt bei Oldenburg nach, und die Liste der Belege, die dem Modell vorliegt, ist von zwölf auf zwanzig gewachsen — gemessen an vierzig handgeprüften Fällen findet es damit 22 statt 18 der erwarteten Belege. (#1233)
- •Im Städtevergleich lag jeder fünfte Tagesordnungspunkt doppelt. 22.152 Punkte aus Braunschweig, Magdeburg, Münster, Osnabrück und Potsdam standen mit zwei Kennungen im Speicher: einmal unter der, die die einmalige Übernahme des Probelaufs erfunden hatte, einmal unter der echten des Ratsinformationssystems. Gleiche Nummer, gleicher Titel, zwei Zeilen. Die Zählungen im Admin-Panel waren dadurch um bis zu ein Drittel zu hoch, und wo eine Auswertung den ersten Punkt einer Sitzung nahm, erwischte sie bei drei Städten die Zeile ohne Ergebnis. Die Zeilen sind zusammengeführt — die echte Kennung gewinnt, alles, was auf die erfundene zeigte, hängt jetzt an ihr. Kein Papier hat dabei seine Beratungsfolge oder sein Ergebnis verloren. Damit so etwas nicht wieder unbemerkt liegen bleibt, prüft die Plausibilitätsprüfung des Bestands seit diesem Stand auch, ob Punkte doppelt vorkommen. (#1267)
- •Der Städtevergleich weiß jetzt bei doppelt so vielen Vorlagen, wie sie ausgegangen sind. Ratsinformationssysteme nennen die Beratungsfolge einer Vorlage oft nicht mit; dann wird sie über den Titel gesucht. Diese Suche gab bisher auf, sobald eine Vorlage in mehreren Sitzungen auftauchte — was der Normalfall ist, weil fast jede Sache erst in den Ausschuss und dann in den Rat geht. Potsdam zeigte deshalb bei drei von vier Vorlagen kein Ergebnis. (#1245)
- •Ein Test, der ohne Ursache rot wurde, wird es nicht mehr. Die Prüfung, ob das Einlesen der Städte-Daten zweimal dasselbe Ergebnis liefert, verglich auch den Zeitstempel „zuletzt geholt" mit — und der zweite Lauf ist nun einmal ein zweiter Lauf. Überschritten die beiden Aufrufe eine Sekundengrenze, fiel die Prüfung um; in der CI unter Last regelmäßig, lokal so gut wie nie. (#1233)
- •Der wöchentliche Städte-Lauf fragt jetzt auch, ob ein Rat die Idee wollte. Die Haltung einer Vorlage — dafür, dagegen, prüft erst — wurde bisher nur von Hand berechnet; neue Vorlagen wären gruppiert und geprüft worden, hätten aber auf der Karte keine Zeile „In den anderen Räten" bekommen. (#1257)
- •Der Städtevergleich urteilt nicht mehr, bevor seine Daten fertig sind. Ob eine andere Stadt eine Idee hat, die Oldenburg fehlt, entscheidet sich an Belegen — und die entstehen erst, wenn alle Vorlagen durchsuchbar gemacht und zu Ideen gruppiert wurden. Wird das Urteil vorher gestartet, fehlen dem Modell zwei seiner fünf Beleg-Quellen, und es hält für neu, was die Stadt längst hat. Das fiel bisher nirgends auf. Jetzt weigert sich der Lauf, und er prüft sich nach den ersten Urteilen zusätzlich selbst. (#1238)
- •Die Bebauungsplan-Flächen der Stadtkarte kommen wieder an. Das Geoportal der Stadt sperrt den Adressbereich unseres Servers; der wöchentliche Abruf der Umringe scheiterte deshalb still, und die Karte blieb ohne Flächen. Abrufe an solche Ziele laufen jetzt über einen eigenen Umweg mit einer Privatanschluss-Adresse. Derselbe Weg steht dem Abruf der Ratssitzungs-Videos offen, den YouTube aus demselben Grund blockte. (#1249)
- •Drei stille Fehler in der App: Glocke, Daumen, Vorlesen. Der Knopf „Vorgang folgen" trug ein Symbol, dem der Glockenkörper fehlte — übrig blieb ein Punkt über einem Strich. Die Daumen unter einer KI-Antwort nahmen die Bewertung zwar entgegen, sagten es aber nicht: Sie blieben grau, und ihre Tippfläche war ein Drittel so groß, wie sie sein soll. Beim Daumen runter fragt die App jetzt wie im Web nach dem Grund — der ist es, der eine Bewertung auswertbar macht. Und „Antwort vorlesen" blieb stumm, solange das Telefon auf lautlos stand; die App holt sich dafür jetzt die Tonausgabe, wie ein Podcast es tut. Dazu steht unter Folgen und Merken jetzt, worin sie sich unterscheiden: Folgen meldet jede neue Station im Rat, Merken legt einen Beschluss still auf die eigene Liste. (#1258)
- •Ein abgeschaltetes Konto wird in der App jetzt auch als solches erklärt. Der Kontostand kannte bisher nur „wartet" und „aktiv", und „wartet" bedeutete zweierlei: E-Mail noch nicht bestätigt oder von einem Admin abgeschaltet. Die App zeigte deshalb einer gesperrten Person „Bestätige deine E-Mail-Adresse" — die sie längst bestätigt hatte. Abschalten ist jetzt ein eigener Zustand, mit eigenem Text in App und Web — samt der Kontaktadresse direkt auf der Karte, statt eines Verweises aufs Impressum. (#1243)
v2.3.0
2026-09-09Hinzugefügt
- •Live-Probe im Admin-Panel. Ein neuer Reiter transkribiert den O1-Stream (was gerade läuft) über denselben Weg wie in der Ratssitzung — ffmpeg, Streaming-Transkription, Äußerung mit Zeitmarke — und zeigt jede Äußerung in dem Moment, in dem sie ankommt, samt Verzug nach Satzende. Damit lässt sich vor einem Sitzungsabend prüfen, dass Schlüssel, Netz und Stream zusammenspielen, ohne eine Sitzung abzuwarten. Höchstens zehn Minuten, eine Probe zugleich. (#1131)
- •„Dazu habe ich nichts gefunden" ist keine Sackgasse mehr. Findet die Suche zu einer Frage gar nichts, schlägt Ratslotse jetzt bis zu drei Fragen vor, die etwas finden — gebaut aus dem Stichwort, das in der Frage schon richtig war. Der Anlass steht im Datenbestand: Jemand fragte zweimal nach „Giftmüll am Fliegerhorst", bekam zweimal „keine Informationen" und gab zweimal Daumen runter, einmal mit dem Grund „Falschinfo". Er hatte recht — die Unterlagen sagen „Sondermüll" und „Schießanlage", und er musste sich die Antwort erkämpfen. Der Umweg über die Beschlusstitel beantwortet nebenbei die Frage dahinter: wie das, wonach man sucht, in den Unterlagen eigentlich heißt. Die Bremse ist wichtiger als die Funktion: Das Wort der Frage muss im Titel des vorgeschlagenen Beschlusses stehen. „Wie backe ich einen Kuchen?" bekommt deshalb nichts, und „Wie ist das Wetter morgen?" genau eine Zeile — die handelt wirklich von Extremwetterlagen. Ein Vorschlag, der auch danebenliegt, wäre schlechter als keiner. (#1220)
- •Ein Ausfall meldet sich jetzt von selbst. Bricht der Prod-Deploy ab, bleibt die Wartungsbarriere absichtlich stehen — die Seite ist dann für Angemeldete unten, bis jemand eingreift. Bisher stand das nur als roter Eintrag in einer Liste, in die man schauen muss: Am 07.09.2026 hat es deshalb 74 Minuten niemand erfahren. Jetzt schickt der Deploy im Fehlerfall eine Mail mit dem Zustand der Barriere und der Dienste. Zusätzlich pingt ein Workflow alle zehn Minuten von außerhalb des Servers die Startseite und die Gesundheitsprüfung an und schlägt Alarm, wenn dreimal hintereinander nichts zurückkommt. (#1180)
- •Grundlage für den Städtevergleich: ein eigener Speicher für Ratsdokumente anderer Kommunen. Er trennt streng, was eine Schnittstelle geliefert hat, von allem, was daraus gerechnet wird — Text, Einordnung, Ähnlichkeiten liegen als versionierte Ableitungen daneben und lassen sich jederzeit neu berechnen. Damit legt eine heutige Auswertung keine künftige fest. Sichtbar ist davon noch nichts. (#1185)
- •Ratslotse beurteilt jetzt, ob Oldenburg eine Idee aus einer anderen Stadt schon hat — und belegt das. Zu jeder übertragbaren fremden Vorlage entsteht ein Urteil: hat der Rat genau dieses Instrument schon, hat er einen Teil davon, oder fehlt es ganz. Dazu, ob sich ein Antrag lohnen würde und was dagegen spricht. Jedes Urteil nennt die Oldenburger Beschlüsse, auf die es sich stützt; ohne Beleg wird keines gespeichert. Sichtbar wird das mit dem nächsten Schritt. (#1197)
- •Neu: „Ideen aus anderen Städten". Eine Seite je Themenfeld zeigt, was Räte in Osnabrück, Braunschweig, Münster, Potsdam und Magdeburg beschlossen haben und ob Oldenburg dasselbe schon hat. Zu jeder Idee steht, ob sich ein Antrag lohnen könnte und was dagegen spricht — und darunter die Oldenburger Beschlüsse, auf die sich diese Einschätzung stützt. (#1198)
- •„Ideen aus anderen Städten" jetzt auch in der App. Unter „Mehr" steht dieselbe Übersicht wie im Web: je Themenfeld, was andere Räte beschlossen haben und ob Oldenburg dasselbe schon hat, mit Begründung und den Beschlüssen, auf die sie sich stützt. (#1200)
- •Die Ideen anderer Städte lassen sich jetzt frei durchsuchen. Über der Liste steht eine Zeile: „Was haben andere Städte zu …?" Wer eine Sache im Kopf hat, muss nicht erst das richtige Themenfeld raten. Gesucht wird über die Texte und zusätzlich über die inhaltliche Nachbarschaft der besten Treffer — so findet „Hitzeschutz" auch den Hitzeaktionsplan, der anders heißt. (#1201)
- •Jede Idee aus einer anderen Stadt trägt jetzt, was sie den Rat kosten würde. Fünf Stufen von der bloßen Anfrage über den Prüfauftrag und die Resolution bis zum Beschluss und zum Haushaltsposten — knapp ein Drittel der übertragbaren Vorlagen sind nämlich Anfragen, und „eine Anfrage zu Fußwegbreiten stellen" ist eine ganz andere Sorte Idee als „ein Darlehensprogramm für Genossenschaften einführen". Dazu steht dabei, wer es in Oldenburg tun müsste, wenn es nicht die Stadt selbst ist: Hausverbote in Bussen spricht die VWG aus, nicht der Rat. (#1215)
- •Der Städtevergleich erkennt jetzt, wenn mehrere Städte dieselbe Idee haben. Bisher stand jede fremde Vorlage für sich; ein „Osnabrück hat das, Oldenburg nicht" ist eine Beobachtung, „fünf von sechs Städten haben das, Oldenburg nicht" ein Argument. Weil die Städte dieselbe Sache verschieden nennen — von 1.461 Formulierungen waren fünf wortgleich —, werden die Ideen dafür verglichen, nicht die Wörter. Gefunden hat es unter anderem die Verpackungssteuer, die in fünf Städten läuft und in Oldenburg nur als Bericht vorliegt, und die Grundsatzbeschlüsse zum Bau-Turbo, die drei Städte seit Dezember gefasst haben. (#1223)
- •Der Städte-Speicher holt sich die Ratsdokumente jetzt selbst. Ein Client spricht die Schnittstellen von Osnabrück, Braunschweig, Münster, Potsdam und Magdeburg an — je Hersteller ein Adapter, der dessen Eigenheiten kennt: dass die einen ihre Listen von hinten sortieren, die anderen den Zeitfilter nach zwei Seiten stillschweigend fallen lassen, und dass eine Stadt Dateiadressen nennt, die es nicht gibt. Jede Antwort wird unverändert aufbewahrt, bevor sie jemand auswertet. (#1186)
- •Jede Idee aus einer anderen Stadt zeigt jetzt, was sie kosten würde und wie verbreitet sie ist. Neben der Herkunft steht in einem Wort, ob es um eine Anfrage, einen Prüfauftrag, eine Resolution, einen Beschluss oder um Geld geht — und daneben, in wie vielen anderen Städten dieselbe Sache schon vorkommt. Wo nicht die Stadt allein entscheidet, steht der Adressat beim Urteil: Hausverbote in Bussen spricht das Verkehrsunternehmen aus, nicht der Rat. (#1226)
- •Oldenburg liegt jetzt im selben Speicher wie die Vergleichsstädte. Erst dadurch wird der Vergleich symmetrisch: „Was fehlt uns?" und „Was haben wir, was andere nicht haben?" sind dieselbe Rechnung mit vertauschten Rollen. Der Weg dorthin führt über die vorhandene Rats-Datenbank, ohne einen einzigen zusätzlichen Abruf beim städtischen Ratsinformationssystem. Ein wöchentlicher Lauf hält alle sechs Städte aktuell. (#1187)
- •Fremde Ratsvorlagen werden eingeordnet: Themenfeld, übertragbarer Kern, Zuständigkeit. Was ein Sprachmodell dazu sagt, liegt versioniert neben den Dokumenten statt in ihnen — zwei Fassungen desselben Urteils können nebeneinander stehen und sich messen lassen. Eine neue Frage an die Dokumente ist damit ein Eintrag in einer Registry, keine Datenbank-Änderung. Ein Prüfstand aus 45 von Hand eingeordneten Vorlagen sagt, ob eine Änderung besser oder schlechter ist. (#1188)
- •Ein Oldenburger Beschluss findet jetzt seine Entsprechung in anderen Städten. Alle Vorlagen — die eigenen wie die fremden — liegen im selben Bedeutungsraum, und daraus entstehen Nachbarschaften über Stadtgrenzen hinweg. Dazu ein Volltextindex über Titel, Aktenzeichen und Zusammenfassung. Welches Modell den Raum aufspannt, steht im Schlüssel: Ein besseres kann neben dem heutigen liegen und sich mit ihm messen, statt es zu ersetzen. (#1189)
- •Anderswo beschlossen: Was andere Städte zur selben Sache gemacht haben. Auf Beschluss-Seiten steht jetzt ein Block mit ähnlichen Anträgen und Vorlagen aus den Ratsinformationssystemen anderer Kommunen — mit Stadt, Datum, Ergebnis und einer kurzen Zusammenfassung, verlinkt ins jeweilige Original. Der Block erscheint nur, wo es wirklich etwas zu zeigen gibt. (#1190)
- •„Anderswo beschlossen" jetzt auch in der App. Beschluss-Seiten zeigen dort denselben Block wie im Web: was andere Städte zur selben Sache beantragt oder beschlossen haben, mit Stadt, Vorlagenart, Datum, Ergebnis und einer kurzen Zusammenfassung. Wo die andere Stadt eine Ansichtsseite veröffentlicht, führt die Zeile dorthin. (#1192)
- •Bei jeder Idee aus einer anderen Stadt lässt sich jetzt sagen, ob der Befund stimmt. Zwei Wörter am Fuß der Karte — „Ja" oder „Nein" —, und damit entsteht der Maßstab, an dem die Urteile künftig gemessen werden. Bisher waren das vierzig Fälle, die eine Person an einem Tag beurteilt hat. Und die KI-Frage kennt die anderen Städte. Wer fragt „Wie machen das andere Städte?" oder „Gibt es das anderswo schon?", bekommt Beschlüsse aus Osnabrück, Braunschweig, Münster, Potsdam und Magdeburg dazu — immer mit der Stadt davor, denn was dort gilt, gilt nicht in Oldenburg. (#1227)
- •Wer eine Frage stellt, kann daraus mit einem Tipp ein Thema machen. Unter jeder Antwort steht jetzt der Weg zum Abo — nicht mehr nur dort, wo nichts gefunden wurde, also ausgerechnet an der Stelle mit der geringsten Lust darauf. Passt die Frage zu einem der kuratierten Stadtthemen (Radverkehr, Kitas, Stadion …), legt ein Klick es samt fertiger Beschreibung an; sonst führt der Weg wie bisher ins vorbefüllte Formular. Und die Einrichtung endet nicht mehr mit leeren Händen. Wer sie durchläuft, ohne ein einziges Thema oder Gremium zu hinterlegen, bekommt am Schluss einen letzten Schirm mit drei Vorschlägen. Der Grund dahinter ist eine Zahl: Von neun echten Neuanmeldungen hatten fünf am Ende nichts hinterlegt — und damit gibt es keinen Anlass mehr, sich je wieder bei ihnen zu melden. Übersprungen werden kann auch dieser Schirm; der Assistent zwingt an keiner Stelle zu einer Eingabe. (#1218)
- •Der Zoom wechselt die Stufe der Stadtkarte. Wer auf der Stadtansicht in einen Ortsbereich hineinzoomt, landet in dessen Viertel-Ansicht mit Tafel; wer im Viertel wieder herauszoomt, ist zurück in der Stadt. Die Chips, Brotkrumen und die Ortsauswahl bleiben als zweiter Weg. (#1173)
- •Das Admin-Panel zeigt, was aus neuen Konten wird. Unter *Statistik* steht jetzt ein Trichter je Registrierungswoche: angemeldet, bestätigt, Einrichtung begonnen und beendet, erstes Thema oder Gremium binnen 24 Stunden, erste Frage, und ob jemand an einem zweiten Tag wiederkam. Dazu vier Kennzahlen, an denen sich künftige Änderungen messen lassen. Zwei Dinge macht die Ansicht bewusst anders. Sie rechnet erreicht gegen erreichbar: Ein Konto von gestern kann „kam binnen 30 Tagen wieder" weder geschafft noch verfehlt haben und steht deshalb als „noch offen" da, nicht als Null — sonst läse sich jede frische Woche als Totalausfall. Und sie lässt Betreiber- und Testkonten heraus (Recht
adminplus die Domänen ausSTATS_EXCLUDE_DOMAINS), weil sie sonst zum großen Teil das eigene Klicken misst. Ratsmitglieder bleiben drin: Ausgeschlossen wird ein Recht, keine Rolle. (#1207) - •Neben jedem Ausschuss steht jetzt, wie viel Post er bedeutet. Ein Abo schickt je Sitzung eine Tagesordnungs-Meldung — bisher sah man das erst am Posteingang. Vier Konten hatten binnen fünfzehn Sekunden alle sechzehn Ausschüsse abonniert, zwei davon bekamen daraufhin rund zwanzig Mails und waren nie wieder da. Jetzt trägt jedes Gremium seine Menge („≈ 1 Meldung im Monat"), und über der Liste steht, was die aktuelle Auswahl zusammen bedeutet. Gerechnet aus den Sitzungen der letzten zwölf Monate, gerundet und mit „≈" — es ist eine Erwartung, keine Zusage. Kein Riegel, keine Warnung: nur eine Zahl vor der Entscheidung statt danach. (#1222)
- •Bebauungspläne liegen jetzt als Fläche auf der Karte von „Mein Viertel“. Bisher zeigte die Karte nur, was OpenStreetMap kennt — eine beschlossene, aber noch nicht gebaute Straße wie die Entlastungsstraße auf dem Fliegerhorst hatte keinen Ort. Jetzt hängt an jedem Vorhaben, dessen Beschluss eine Plannummer nennt („Bebauungsplan N-777 G“, „Änderung 1 des Bebauungsplanes 777 D“), der Geltungsbereich des Plans aus dem Geoportal der Stadt Oldenburg: rechtsverbindliche Pläne durchgezogen, Pläne in Aufstellung gestrichelt, jeweils in der Farbe des Stands, mit Nummer, Name und den Stationen Aufstellung, Satzung, Rechtskraft im Detail. Der Wochenlauf hält den Spiegel frisch. (#1149)
- •„Mein Viertel“ zeigt jetzt auch, was die Stadt selbst meldet: Sperrungen und Pressemitteilungen. Die laufenden Sperrungen aus dem Geoportal der Stadt liegen als gestrichelte Linie auf der Karte des Viertels, dazu eine Karte „Gesperrt und im Bau“ mit Straße, Grund, Art und Frist. Darunter steht „Aktuelles von der Stadt“: die Pressemitteilungen der letzten vier Monate, die das Viertel oder eine seiner Straßen nennen — regelbasiert verortet, ohne Sprachmodell; Sitzungsankündigungen und stadtweite Mitteilungen bleiben draußen. Beides kommt täglich mit dem Stadt-Quellen-Lauf, in Web und App. (#1153)
- •„Neu bei Ratslotse": Was eine neue Version bringt, steht jetzt auf der Übersicht. Ratslotse liefert laufend aus — wer alle paar Wochen vorbeikommt, merkte von einem neuen Feature bisher nichts. Nach einer größeren Ausgabe steht jetzt eine Karte auf „Heute", und sie erzählt nicht, sondern zeigt: zu jeder Neuerung eine echte Aufnahme aus der App — beim Teilen ein kurzer Clip, sonst ein Bild —, dazu ein Satz und der Weg dorthin. Man blättert mit den Reitern darunter oder mit den Pfeiltasten durch sie; die Bilder gibt es hell und dunkel, und wer Bewegung abgeschaltet hat, sieht statt des Clips sein Standbild. Der Durchgang führt: „Weiter" ist der Hauptknopf, „Alles klar" gibt es erst, wenn alles einmal dastand. Die Karte gibt es auch in der iPhone-App — dort mit Clips aus der App: Man sieht das iPhone, nicht den Browser, und ein Wisch über den Clip blättert weiter. Wer länger nicht da war, bekommt die verpassten Ausgaben mit — das Jüngste ausführlich, das Ältere in einer Zeile. Wer nach einer Ausgabe dazugekommen ist, sieht sie nie: Für ihn ist alles neu. Die Karte merkt sich am Konto, was weggeklickt wurde, gilt also auf jedem Gerät. Dieselben Sätze gehen auf Wunsch als E-Mail und Push raus, über denselben Weg wie alle Ratsmeldungen — mit Aus-Schalter, Nachtruhe und Tagesgrenze, und einem eigenen Schalter „Neu bei Ratslotse" unter *Mein Konto*. Angekündigt werden nur die großen Sachen: Fixes und kleine Verbesserungen stehen weiter im Changelog und kommen gar nicht erst auf die Karte. (#1178)
- •Das Admin-Panel zeigt die Fragen, auf die es keine belegte Antwort gab. Eine Quote sagt „neun Prozent scheitern", diese Liste sagt woran. Der bekannteste Fall stand am 09.08.2026 im Bestand: Jemand fragte zweimal nach „Giftmüll am Fliegerhorst" und bekam zweimal „keine Informationen" — weil die Unterlagen „Sondermüll" und „Schießanlage" sagen. Ein Blick in diese Liste hätte das an dem Tag gezeigt, an dem es passierte. Die Liste stammt ausschließlich aus gespeicherten Gesprächen: Wessen Fragen nicht in der Datenbank liegen, dessen Fragen erscheinen auch hier nicht. Konto und Gesprächskennung fehlen bewusst — für „woran ist es gescheitert?" sind sie ohne Belang, und eine Liste mit Kennung neben der Frage wäre ein Leseprotokoll. (#1210)
- •Ratslotse zählt jetzt selbst, welche Seiten aufgerufen werden — anonym. Die Nutzung ohne Anmeldung war bis dahin vollständig unbeobachtet: kein Zugriffslog, keine Analytik. Wer die Startseite ansah oder einem geteilten Beschluss-Link folgte, hinterließ keine Spur, und „wir hatten viele Besucher" war ein Gefühl statt einer Zahl. Gezählt werden vier Dinge: Tag, Seite, Client und ob jemand angemeldet war. Kein Cookie, keine Kennung, keine IP, kein Referrer, kein User-Agent, keine Verweildauer — und vor allem keine Query, denn die trägt hier alles Persönliche (
?id=sagt, welchen Beschluss jemand liest,?q=wäre die Suchanfrage). Der Server nimmt zudem nur Seiten an, die er kennt; alles andere fällt in eine Sammelzeile, damit ein fremder Browser die Tabelle weder aufblähen noch beschriften kann. Kein Dritt-Dienst ist beteiligt: Die Meldung geht an dieselbe Domäne, aus der die Seite kommt. Eine einzige Ausnahme von „Query kommt nie mit": der Reiter auf der Ratsinfo-Seite. Suche, Sitzungen, Themen und Analyse sind nicht vier Seiten, sondern eine mit vier Reitern — ohne diesen einen Parameter (mit genau vier erlaubten Werten) fielen die vier meistbenutzten Bereiche in eine Zeile zusammen. Im Admin-Panel steht das unter *Statistik*: Aufrufe je Tag, Besuche, Anteil ohne Anmeldung, die meistgesehenen Seiten und die Aufteilung nach App und Web. (#1208) - •Laufende Beteiligungen liegen als Fläche auf der Karte. Wo die Stadt gerade zu einem Bebauungsplan Stellungnahmen sammelt, zeigt die Viertel-Karte den Geltungsbereich des Plans punktiert in Signal-Orange, mit Frist und Verfahrensschritt beim Zeigen; ein Tipp öffnet die Beteiligung bei der Stadt. Die Fläche kommt aus dem Geoportal, der Plan aus dem Titel der Beteiligung. Auf
/karteist das die Ebene „Beteiligungen“ (Schritt 4 des Umbauplans), auf „Mein Viertel“ liegt sie immer. Die App zeigt die Beteiligungen jetzt auch als Karte und Fläche. (#1163) - •Die vereinte Stadtkarte beginnt — hinter dem Schalter `stadtkarte`. Unter
/karteliegt eine Karte mit drei Zoomstufen: die Stadt mit ihren 31 Ortsbereichen, nach Zahl der Vorhaben getönt; ein Tipp zoomt ins Viertel mit Pins, Planflächen und Sperrungen; ein Pin öffnet das Vorhaben. Rechts läuft eine Tafel-Spalte mit, die mit dem Zoom ihren Inhalt wechselt — dieselben Bausteine wie auf „Mein Viertel“, das sich nicht ändert. Oben auf der Karte liegen drei Ebenen-Chips (Vorhaben, Bebauungspläne, Sperrungen) mit Farbpunkt und Zähler; ein Tipp schaltet die Ebene aus oder an, die Wahl steht in der Adresse und wird im Browser gemerkt, die Quellenzeile nennt nur, was gerade liegt. Erste zwei Schritte des Umbauplans inSTADTKARTE-PLAN.md; sichtbar nur mit eingeschaltetem Schalter und Konto. (#1158) - •Die Stadtkarte in der App: Stadt, Viertel, Vorhaben auf einer Karte. „Mein Viertel“ öffnet in der iOS-App jetzt die vereinte Karte: die 31 Ortsbereiche nach Zahl ihrer Vorhaben getönt, ein Tipp zoomt ins Viertel mit Pins, Planflächen, Sperrungen und Beteiligungs-Flächen; die Tafel läuft daneben (iPad) oder darunter (iPhone) mit, das Vorhaben öffnet als Sheet. Ebenen lassen sich als Chips über der Karte schalten — auch die Themen-Orte der bisherigen Stadtkarte, gebündelt nach Zoom. Der Abschnitt „Stadtkarte“ im Rats-Tab zeigt dieselbe Karte; der Eintrag „Stadtkarte“ unter „Mehr“ ist in „Mein Viertel“ aufgegangen. (#1166)
- •Die Themen-Orte der alten Stadtkarte sind jetzt eine Ebene der neuen. Auf
/karteschaltet der Chip „Themen-Orte“ die verorteten Themen und Beschlussorte aus allen Jahren dazu — Punktgröße nach Zahl der Beschlüsse, nahe Punkte im Weitzoom gebündelt, Namen erst beim Hineinzoomen; darunter die Art als Unter-Chips (Orte, Organisationen, Projekte, Beschlussorte). Im Viertel liegen nur die Punkte des Ortsbereichs. Auf der Stadt-Stufe zeigt die Tafel dazu „Themen, die gerade laufen“. Schritt 3 des Umbauplans, weiter hinter dem Schalterstadtkarte. (#1161) - •Das Wahlergebnis als Ebene der Stadtkarte. Mit dem Wahlabend zur Ratswahl am 13. September lässt sich auf der Stadtkarte unter „Mein Viertel“ die Ebene „Wahlergebnis“ einschalten: Die Ortsbereiche tönen nach der Stärke der stärksten Liste ihres Wahlbereichs, der Hinweis beim Zeigen nennt die vorderen Listen mit Anteil, die Tafel zeigt stadtweit und je Viertel die Listen mit Anteil und Sitzen samt Auszählungsstand und führt zum Wahlabend-Dashboard. Parteifarben stehen nur als Punkt, die Fläche bleibt eine Tönung; die Zuordnung über die Ortsbereiche ist ungefähr, die Stadt schneidet nach Wahlbezirken. (#1170)
- •Eine Statusseite sagt jetzt, ob ratslotse.de läuft. Sie liegt bewusst nicht auf dem eigenen Server, denn eine Statusseite, die mit dem Dienst stirbt, den sie beschreibt, ist keine. Zu sehen sind der aktuelle Zustand, die Messungen der letzten Stunden und die Erklärung, was überhaupt geprüft wird. Die Werte kommen direkt aus den Probeläufen, nicht aus einer nachgeführten Datei, die von der Wirklichkeit abweichen könnte. (#1183)
- •Sechs Handlungen, die bisher niemand gezählt hat, zählen jetzt mit. Ein angelegtes Thema, ein gesetztes Lesezeichen, ein verfolgter Vorgang — und vor allem zwei Zahlen, die es vorher gar nicht gab: wie viele Fragen aus einem Vorschlags-Chip kommen statt aus dem Eingabefeld, und wie viele Antworten keine einzige Quelle nennen. Beide beantworten etwas, das man sonst nur raten kann. Ob gute Vorschläge das Produkt tragen oder ob niemand ins Feld tippt, sieht man der Fragenliste nicht an. Und Antworten ohne Quelle ließen sich bisher nur an den gespeicherten Gesprächen abschätzen, also an einem Teil — jetzt werden alle gezählt. Dazu ein Wächter, der einen alten Fehler nicht wiederkehren lässt: Bis 09/2026 versprach das Admin-Panel Zähler für Suche, Analyse und Karte, aber niemand schrieb sie. Für jedes Konto stand dort „nie", und nichts schlug an — eine 0 sieht aus wie eine Messung. Der Test hält jetzt beide Richtungen fest: kein versprochener Zähler ohne Schreibstelle, keine Schreibstelle ohne Anzeige. (#1209)
- •Wer mehrere Themen in ein Feld schreibt, wird darauf hingewiesen. Ein Name wie „Stadtteile: Bürgerfelde Nord, Dietrichsfeld, Helleheide, …" nahm Ratslotse bisher stillschweigend an — und lieferte dann elf Treffer, die alle knapp über der Verwerfungsschwelle lagen. Der Grund ist bauartbedingt: Der Wächter bewertet jeden Beschluss gegen einen Text, und eine Aufzählung hat kein Zentrum. Getrennt bekommt jeder Teil seine eigene, saubere Meldung. Das Formular bietet deshalb an, den Namen aufzuteilen — mit einem Klick werden daraus mehrere Themen, jedes mit eigener Beschreibung. Ein Angebot, kein Verbot: „Als ein Thema lassen" steht daneben. Der Erkenner ist bewusst zurückhaltend. Er trennt nur an Kommata, nie an „und" („Bus und Bahn" ist ein Thema), und lässt Namen mit Klammern in Ruhe — „Bebauungsplan 851 (Schützenweg, Haarentor)" ist eine Ortsangabe, keine Liste. (#1221)
- •Wahlabend zur Ratswahl am 13. September 2026. Unter
/wahlabendzeigt Ratslotse den Auszählungsstand der Stadt live: Stimmenanteile und Sitze je Liste, für jede Liste die Kandidat*innen in den sechs Wahlbereichen mit Personenstimmen, wer nach dem Zuteilungsverfahren des Kommunalwahlgesetzes gerade im Rat wäre und wie viele Stimmen bis zum Sitz fehlen. Dazu eine Hochrechnung aus den noch offenen Wahlbezirken auf Basis der Ergebnisse von 2021, der Halbkreis der Sitze, ein Mehrheiten-Rechner mit allen rechnerisch möglichen Bündnissen, Gewinne und Verluste gegenüber 2021, der Verlauf des Abends als Zeitreihe, das Kandidatenrennen je Wahlbereich und ein teilbares Bild des Stands als PNG. Die Zahlen kommen aus den Open-Data-Dateien des Votemanagers der Stadt; das Sitzverfahren ist gegen das amtliche Ergebnis von 2021 geprüft. Bis Sonntag 18 Uhr zählen Seite und Einstiege herunter und fragen nicht im Minutentakt nach; der beginnt mit dem Wahlabend. Die Seite hängt am Feature-Schalterwahlabend. (#1150)
Geändert
- •Der Bericht der Verwaltung wiederholt nicht mehr, was daneben schon als Karte steht. Auf Beschluss-Seiten stand der Abschnitt „Auswirkungen" zweimal: einmal im Auszug „Warum es dazu kam", einmal in den Karten „Was kostet das?" und „Klima-Check" direkt daneben. Jetzt steht er nur noch in den Karten — der Auszug wird dadurch im Mittel rund 300 Zeichen kürzer und kommt schneller zur Sache. Bis dahin ging das nicht: Die Karten waren fast immer leer, ein Schnitt hätte die Angabe ersatzlos verloren. Seit sie sich füllen, geht es — und der Schnitt hängt weiter an ihnen. Trägt eine Karte den Abschnitt nicht oder nur zur Hälfte, bleibt er im Auszug stehen. Das betrifft mehr Fälle, als man denkt: Vorlagen, in denen die Verwaltung nur die Kosten notiert hat und nichts zum Klima, ungewöhnlich gesetzte Überschriften, und die längsten Kostenangaben, von denen die Karte nur den Anfang zeigt. Der Punkt „c) Weitere", für den es gar keine Karte gibt, bleibt ebenfalls stehen. (#1212)
- •Die Browsertests laufen noch einmal knapp doppelt so schnell. Bisher meldete sich fast jeder von ihnen neu an — Formular ausfüllen, warten, den Einrichtungs-Assistenten wegräumen, neu laden. Das kostete rund fünf Sekunden je Test bei Seiten, die selbst in einer Zehntelsekunde stehen, und war über die ganze Suite gut die Hälfte der Laufzeit. Jetzt wird jede Identität einmal je Lauf angemeldet; die Tests starten mit fertiger Sitzung. Geprüft wird das Anmelden weiterhin — an der einen Stelle, an der es der Gegenstand ist. (#1168)
- •Die CI-Prüfungen eines Pull Requests sind von 16–21 Minuten auf gut acht gefallen. Das Warten hing praktisch allein an den Browsertests: Sie liefen auf einem einzigen Läufer, während jede andere Prüfung längst fertig war. Sie sind jetzt auf vier Läufer aufgeteilt, von denen jeder sein eigenes Backend auf einer eigenen Wegwerf-Datenbank mitbringt. Dazu zwei kleinere Sachen: In der CI entstehen keine Bildschirmaufnahmen mehr von grünen Tests, die ohnehin niemand ansieht, und die iOS-App wird nicht mehr zweimal übersetzt — der frühere Vorab-Build lief gegen ein anderes Ziel als der Testlauf und wurde deshalb komplett verworfen. (#1156)
- •Für den Städtevergleich bleibt das kleinere Sprachmodell — nachgemessen. Ein dreimal größeres Modell fand weniger von dem, was tatsächlich zusammen gehört, und schob dabei alle Ähnlichkeitswerte so eng zusammen, dass sich Verwandtes von Zufälligem kaum noch trennen ließ. Der Vergleich lässt sich jederzeit wiederholen. (#1202)
- •Der Weg des Städtevergleichs auf die öffentliche Seite steht als Checkliste in der Betriebsdokumentation. Beide Bereiche sind fertig gebaut und auf der Testumgebung sichtbar; wann sie öffentlich werden, hängt daran, dass Ratsmitglieder die Treffer für tragfähig halten. (#1203)
- •Die Belege für „Hat Oldenburg das schon?" kommen jetzt aus vier Quellen statt zwei. Neben den inhaltlich nächsten Vorlagen und der Volltextsuche werden einzelne Textabschnitte durchsucht — damit findet sich auch die Sache, die auf Seite elf einer großen Vorlage steht — und Oldenburgs eigene Beschlüsse mit ihrem Abstimmungsergebnis, das bisher gar nicht zur Verfügung stand. Die Suchwörter übersetzt ein Modell vorher ins Verwaltungsdeutsch: Wer „Außengastronomie" sucht, findet in Oldenburg „Sondernutzungssatzung". Gemessen an vierzig handgeprüften Fällen steht der richtige Beleg jetzt in allen 23 Fällen in der Liste statt in 19 — und drei dieser Handurteile waren selbst falsch, weil sie mit der alten, schwächeren Suche gefällt worden waren. (#1213)
- •Das Urteil „Hat Oldenburg das schon?" wird jetzt dreimal gefällt und dann ausgezählt. Das Modell schwankte zwischen Läufen um zwölf Prozentpunkte; welche seiner Antworten in der Datenbank landete, entschied damit der Zufall. Drei Stimmen je Vorlage halbieren die Schwankung, und bei Gleichstand gewinnt der vorsichtigere Wert — „Oldenburg hat das schon" nimmt eine Idee von der Liste und ist der teurere Irrtum. Außerdem sieht das Urteil jetzt, in wie vielen anderen Städten dieselbe Idee vorkommt und was sie den Rat kosten würde. (#1224)
- •Der Städtevergleich kennt jetzt Oldenburgs ganze Ratsgeschichte, nicht nur das letzte Jahr. Ob eine Idee aus einer anderen Stadt hier fehlt, entscheidet nicht, was der Rat in den vergangenen zwölf Monaten beschlossen hat, sondern was er seit 2018 beschlossen hat. Der Bestand für Oldenburg wächst damit von 710 auf 5.945 Vorlagen und Anträge. (#1195)
- •Der Städtevergleich urteilt über den ganzen Bestand, nicht mehr über eine Stichprobe. Bevor das Modell entscheiden kann, ob Oldenburg eine Idee schon hat, muss es wissen, wie Oldenburg sie nennen würde — „Lernbegleiter:innen" heißt hier „Schulbegleitung". Dieser eine kleine Aufruf je Vorlage lief bisher nacheinander und machte aus der Vorbereitung 73 Minuten Warten. Er läuft jetzt nebenläufig, die Vorbereitung dauert sieben Minuten. Für die 9.688 übertragbaren Vorlagen der fünf anderen Städte heißt das: Ihre Bewertung ist ein Lauf von Stunden statt von Tagen. (#1230)
- •Bei den Ideen aus anderen Städten steht jetzt, was ist — nicht, was sich lohnt. Bisher sagte ein Sprachmodell zu jeder Idee auch, ob ein Antrag sich lohnen würde. Gemessen über drei Fassungen traf es diese Frage nur in jedem zweiten Fall, während es die Tatsachenfrage „hat Oldenburg das schon?" in zwei von drei Fällen trifft. Deshalb wird es nicht mehr danach gefragt. Die Karte zeigt stattdessen fünf Angaben, aus denen sich das selbst schließen lässt: Befund, Belege, Aufwand, Adressat und in wie vielen anderen Städten dieselbe Sache vorkommt. Sortiert wird danach, was mehrere Räte beschlossen haben und Oldenburg fehlt. (#1227)
- •Die einmalige Erinnerung erreicht jetzt auch die, die nie angefangen haben. Bisher setzte sie ein *begonnenes* Einrichtungs-Gespräch voraus — und ging damit an der größeren Gruppe vorbei: Von neun neuen Konten hatten sieben den Assistenten nie geöffnet, fünf standen am Ende ohne Thema und ohne Gremium da. Für die gab es keinen einzigen Anlass, sich je wieder zu melden, auch keine Erinnerung. Der neue Anlass zählt deshalb nicht den erreichten Schritt, sondern den Haken: Wer weder Thema noch Gremium hat, bekommt die Mail — auch wenn er formal „fertig" ist; wer eines von beiden hat, bekommt keine, egal wie weit er kam. Der Text sagt entsprechend, was fehlt und was es bringt, statt zum Fortsetzen eines Schritts aufzufordern, den es nie gab. An der Zurückhaltung ändert sich nichts: beide Anlässe teilen sich dieselbe Marke, es bleibt bei einer Mail je Konto, nie wieder. (#1219)
- •**
FEATURE_FLAGS=*schaltet alle Feature-Schalter an.** Auf der Dev-Umgebung ist damit alles sichtbar, sobald es gemergt ist; auf Prod bleibt die Liste explizit. (#1167) - •Der Startbildschirm der App trägt jetzt die Bausteine der Social-Karten. Die plastische Sonne und die drei 3D-Wellenlinien sind weg; stattdessen stehen Lotti, Wortmarke und Kicker auf dem leisen Wellenmuster, unter weichem Morgenlicht mit Möwen und über den Wogen, die auch die Instagram-Karten tragen — im Dunkelmodus mit Mond statt Sonne. Lotti selbst schaut jetzt zugewandt und mit gewölbten Freude-Brauen in die Kamera, statt wie die bisherige Helden-Pose traurig nach unten — und ihre beiden Küken stehen mit auf dem Bild. Das Bild entsteht aus einem Skript (
ios/scripts/make_splash.py), das die Bausteine aus ratslotse-social nimmt, statt als Datei ohne Herkunft im Repo zu liegen. (#1147) - •Der Kalender-Feed nennt jedes Gremium mit vollem Namen. Bisher stand im Termin der Kurzname aus der Web-Oberfläche („Umwelt", „Rat"), der amtliche Name nur unten in der Beschreibung. Das Abo landet aber vor allem bei Ratsmitgliedern zwischen ihren übrigen Terminen, und dort heißt die Sitzung so, wie sie in der Einladung heißt: „Ausschuss für Stadtgrün, Umwelt und Klima", „Rat der Stadt Oldenburg". Auch die Erinnerung am Vorabend trägt jetzt den vollen Namen. (#1143)
- •„Mein Viertel“ fragt jetzt zuerst nach deiner Haustür. Die Auswahlseite war eine blasse Stadtkarte über einem Alphabet aus 31 Kacheln. Jetzt steht oben eine Anzeigetafel mit der Zahl aller Vorhaben in der Stadt und wie viele davon im Bau, beschlossen oder in Planung sind — daneben die eine Handlung, um die es geht: Straße oder Stadtteil eintippen (mit Vorschlägen aus den Beschlüssen) oder den eigenen Standort nehmen, beides führt direkt auf die Tafel des Viertels; nichts davon wird gespeichert. Die Karte tönt nach Zahl der Vorhaben, daneben stehen die Vorhaben, die stadtweit gerade herausstechen (im Bau zuerst, je Ortsbereich höchstens eines), und darunter die Rangliste aller Ortsbereiche statt des Alphabets. Ein Highlight öffnet auf der Tafel gleich das gemeinte Vorhaben. (#1145)
- •Die Karte von „Mein Viertel“ reagiert jetzt auf den Zeiger. Wer auf einen Pin, eine Straßenlinie oder eine Planfläche zeigt, sieht das Vorhaben wachsen und einen Hinweis mit Stand, Termin und Name; zeigt man auf eine Zeile der Liste, hebt sich ihr Pin auf der Karte, und umgekehrt hebt ein Pin seine Zeile. Ein Tipp auf einen Pin wählt das Vorhaben direkt — bisher brauchte es erst ein Popup und darin einen zweiten Tipp. Das gewählte Vorhaben trägt ein Namensschild und einen pulsierenden Ring, damit man auf der Karte findet, was man angeklickt hat. (#1152)
- •„Neu zu deinen Themen" sagt jetzt, was entschieden wurde. Die Karte auf „Heute" zeigte je Treffer nur eine Themen-Pille, den amtlichen Titel und „vor drei Wochen" — ohne Ergebnis und ohne einen Satz dazu. Jetzt trägt jede Zeile dieselbe Anatomie wie die Themen-Karte: ein Punkt vor ungelesenen Treffern, der Titel, die Zusammenfassung in einem Satz, darunter Datum · Gremium · Thema, rechts das Ergebnis (Angenommen, Abgelehnt, Zur Kenntnis …). Im Kopf steht, wie viel ungelesen ist und wie viele Themen und Treffer hinter der Auswahl stehen; wer einen Treffer öffnet, hat ihn damit gelesen — wie auf „Meine Themen". Die Karte zeigt drei statt zwei Treffer, und zwar wirklich die jüngsten: Vorher nahm sie je Thema nur die zehn passendsten und sortierte erst die nach Datum. Die iPhone-App zieht nach: Dieselbe Zeile, dieselbe Neu-Marke, die Mengen als Mono-Zeile über den Treffern. (#1146)
- •Ein Deploy lässt die Seite nicht mehr wegen einer einzelnen Kachel unten. Die Rauchprobe nach dem Deploy war alles-oder-nichts: Fiel irgendein Endpunkt durch, brach der Deploy ab und die Wartungssperre blieb stehen. Am 07.09.2026 kostete das 74 Minuten Ausfall, ausgelöst von einer Wochenvorschau, die in der laufenden Fassung genauso kaputt war. Jetzt unterscheidet die Probe: Bricht der Kern, also Gesundheitsprüfung, Konfiguration und die tragenden Listen, bleibt der Abbruch. Fällt nur eine einzelne Karte durch, läuft der Deploy weiter und schickt stattdessen eine Mail. (#1181)
- •„Mein Viertel“ und die Stadtkarte sind eine Karte. Der Menüpunkt „Mein Viertel“ öffnet jetzt die vereinte Stadtkarte unter
/karte— mit dem eigenen Stadtteil, wenn einer gewählt ist, sonst mit der Stadt. Der Eintrag „Stadtkarte“ fällt aus dem Menü; der Themen-Tab zeigt nur noch die Liste und verweist auf die Karte, die Themen-Orte liegen dort als Ebene. Die alte Adresse/viertelleitet weiter, Mails und geteilte Links bleiben gültig. Die ganze Karte samt Tafel liegt ab jetzt hinter der Anmeldung; öffentlich bleibt die Startseite. (#1164) - •Die Messpunkte auf der Statusseite lassen sich jetzt ablesen. Wer mit dem Zeiger über einen Balken fährt, hebt ihn heraus, während die übrigen zurücktreten. Unter dem Streifen steht dann statt der Zeitachse die volle Angabe: Wochentag, Datum, Uhrzeit und ob die Seite zu diesem Zeitpunkt erreichbar war. Der kleine Browser-Tooltip entfällt dafür. Auf dem Telefon hält eine Berührung dieselbe Anzeige, ohne das Scrollen zu blockieren. (#1184)
- •Die Testsuite läuft parallel. Der Lauf verteilt sich mit
pytest -n autoauf alle Kerne: In der CI fällt der Testschritt von 4:39 auf 2:15, auf einem Zehnkerner von 1:42 auf 0:35. Möglich wurde das, indem die Wegwerf-Datenbanken der Backend-Tests nicht mehr von jedem Testmodul einzeln über eine Prozessvariable verabredet werden, sondern einmal je Prozess intests/conftest.py. Vorher entschied die Import-Reihenfolge, welche Datei galt — seriell war die fest, auf mehrere Prozesse verteilt bei jedem Lauf eine andere, und ein Test schrieb seine Zeilen in eine andere Datenbank, als die Anwendung las. Ein Wächter hält die Regel fest, damit die nächste Zuweisung nicht wieder sporadisch rote Läufe erzeugt. (#1162) - •Der wöchentliche Themen-Abgleich schreibt einen Brief statt einer Meldung je Thema. Tauchen beim Sonntagslauf zu mehreren deiner Themen neue Beschlüsse auf, kommt jetzt ein Brief mit einer Gruppe je Thema — derselbe Aufbau wie der Ergebnis-Brief aus dem Protokoll-Import: Der Beschluss mit der größten Tragweite führt jede Gruppe mit Ergebnis, Stimmen, Datum und Lottis Kurzfassung, der Rest steht als Liste darunter. Ein Beschluss, der zu zwei Themen passt, steht nur einmal. Der Betreff nennt die Themen („Neu zu „Finanzen“, „Radwege“ — 5 Beschlüsse"), und weil ein Treffer bis zu ein halbes Jahr alt sein kann, geht dieser Brief nie an der Tagesgrenze vorbei. (#1129)
- •Die neuen Statistik-Abschnitte im Admin-Panel zeigen jetzt, was sich verändert hat — nicht nur, wo es steht. Jede Kennzahl trägt Zähler und Nenner („6 von 14") und die Veränderung gegen dieselbe Spanne davor, als Chip in Signal-Orange wie jedes Delta in der Designsprache. Der Trichter hat drei Lagen in einer Farbe — alle Anmeldungen, die alt genug sind, die es geschafft haben — statt einer Ampel, die etwas anderes meinte als die Balkenlänge; der Abriss zur Stufe davor steht als Zahl daneben. Seitenaufrufe heißen wie die Seiten („Ratsinfo · Suche", nicht
/council?tab=decisions), Anteile stehen dabei, angemeldet/anonym und App/Web sind je ein Balken. Der letzte Schirm der Einrichtung zeigt die drei Themen als Karten mit Einordnung und Beschlusszahl statt als drei Chips auf leerer Fläche. Die Themen-Brücke unter einer Antwort nennt, worum es in dem Thema geht. Das Aufteilen-Angebot bei einer Themenliste steht im Primär-Ton statt in Signal-Orange (das ist nie eine Flächenfarbe). Und auf den Ausschuss-Abos steht die Mailmenge je Gremium als eigenes Stück mit Glocke, die Summe der Auswahl als Karte mit der Zahl vorn — ab dem ersten Abo, nicht erst ab zwölf. (#1228)
Behoben
- •Ergebnisse aus Magdeburg und Münster kamen nicht an. Beim Städtevergleich hatte keine einzige Magdeburger Vorlage ein Beratungsergebnis, obwohl fast 6.000 Tagesordnungspunkte eines tragen: Die Schnittstelle führt dort zwei Kennungsräume für denselben Punkt, und sie vergibt dieselbe Beratungs-Kennung an bis zu sechs verschiedene Stationen. Beides ist jetzt aufgelöst — die Beratung findet ihren Punkt über die Sitzung, die sie selbst nennt. Außerdem wurde „nicht empfohlen" als Zustimmung gezählt: 275-mal stand damit das Gegenteil dessen da, was im Protokoll steht. (#1206)
- •„Ohne Beschlussfassung geschoben" galt als beschlossen. Der Städtevergleich zählte den Satz 288-mal als Zustimmung, obwohl er das Gegenteil sagt — dieselbe Falle wie zuvor bei „nicht empfohlen": Das Wort „Beschlussfassung" steht in der Zustimmungsliste und griff, bevor das „geschoben" davor gelesen wurde. (#1225)
- •„Anderswo beschlossen" erscheint jetzt auf fünfmal so vielen Beschluss-Seiten — und zeigt dort nur noch, was sich übertragen lässt. Der Block fand seine Vorlage bisher nur über eine Kennung, die kaum ein Beschluss trägt; jetzt findet er sie auch über die Vorlagennummer. Gleichzeitig fallen Treffer heraus, die zwar ähnlich klingen, aber nichts zu übertragen haben: Ein Bebauungsplan aus einer anderen Stadt ist für Oldenburg keine Idee, sondern nur ein Dokument derselben Sorte. (#1194)
- •Der Einordnungslauf über fremde Ratsvorlagen bricht nicht mehr ab, wenn ein Modell Unsinn antwortet. Kam ein Batch als Liste von Zeichenketten statt als Liste von Objekten zurück, warf der Zugriff im Arbeitsthread und riss den ganzen Lauf um — gemessen nach 520 von 619 Batches. Solche Antworten werden jetzt verworfen und die betroffenen Vorlagen einzeln nachgereicht. (#1191)
- •Lange Überschriften liefen aus den Hinweiskarten der Stadtkarte heraus. Der Hinweis beim Zeigen auf ein Vorhaben bricht jetzt um, statt in einer Zeile über den Rand zu schießen. Außerdem stand darunter ein zweiter, grauer Hinweis des Browsers mit demselben Text; er ist weg, den Namen des Punkts bekommt die Sprachausgabe weiterhin. (#1176)
- •Die Linien auf der Stadtkarte wurden mit jedem Zeigen dicker. Wer mehrmals über ein Vorhaben in der Liste fuhr, sah seine Straßenlinie immer breiter werden; jetzt kehrt sie beim Verlassen zur Ruhe-Stärke zurück, auch eine blasse Linie zu ihrer Deckkraft. (#1172)
- •Im Vorhaben-Blatt der Stadtkarte standen zwei Schließen-Kreuze übereinander. Das Blatt bringt auf dem Telefon sein eigenes Kreuz mit; das zweite aus dem Detail ist weg. In der Seitenspalte am Schreibtisch bleibt es, dort gibt es kein anderes. (#1175)
- •„Was kostet das?" und der Klima-Check bleiben nicht mehr fast immer leer. Auf Beschluss-Seiten gibt es zwei Karten, die aus der Vorlage vorlesen, was die Verwaltung zu Kosten und Klimawirkung geschrieben hat — gefüllt waren sie bei 64 bzw. 57 von 5079 Vorlagen. Zwei Ursachen: Der Auszug lief nur beim Einlesen einer neuen Vorlage, den vorhandenen Bestand hat er nie angefasst; und er kannte nur die seit 2022 übliche Form „a) Finanzen", nicht die ältere Überschrift „Finanzielle Auswirkungen:", unter der gut die Hälfte aller Vorlagen ihre Kostenangabe führt. Jetzt sind es 3438 Kostenangaben und 5069 statt 95 zuständige Ämter; auch der Beschlussvorschlag der Verwaltung steht auf 2295 statt 43 Seiten. Der Abgleich läuft ab sofort wöchentlich mit, damit spätere Verbesserungen den Bestand erreichen und nicht nur neu eingelesene Vorlagen. Nebenbei enden die Angaben jetzt sauber vor der Grußformel: Wo vorher „keine Auswirkungen. In Vertretung J ü r g e n K r o g m a n n" stand, steht die Unterschrift nicht mehr mit in der Karte — und ein bloßes „keine" wird wieder als „keine Angabe" erkannt statt als Kostenangabe ausgegeben. (#1211)
- •Die Hintergrund-Jobs überstehen ein überlastetes Sprachmodell. Meldet der Anbieter ein Rate-Limit, wartet ein Job jetzt bis zu fünf Minuten und versucht es wieder; antwortet das Modell auch dann nicht, übernimmt ein gemessen fast gleich gutes Ersatzmodell. Das gilt für Kurzfassungen, Tragweite, Kartentexte, Kritiker, Ausschuss-Zusammenfassung, Videoauswertung und „Mein Viertel“ — im September waren so 37 von 39 Rate-Limit-Ausfällen auf ein einziges Modell zurückgegangen, das seit Ende August die meisten dieser Jobs trägt. (#1142)
- •Der Wochenlauf von „Mein Viertel“ übersteht ein Rate-Limit. Meldet das Sprachmodell „gerade überlastet“, wartet der Lauf und versucht es dreimal wieder, statt abzubrechen; ein Ortsbereich, der trotzdem scheitert, wird übersprungen und beim nächsten Lauf nachgeholt. Der erste Lauf auf der Dev-Umgebung war so nach vier von 31 Ortsbereichen stehen geblieben. Eine Tafel, die noch nie gerechnet wurde, sagt das jetzt auch so, statt zu behaupten, der Rat habe nichts beschlossen. (#1138)
- •„Meinen Standort nehmen“ auf der Stadtkarte fragt jetzt wirklich nach dem Standort. Die Seite hatte die Ortung für sich selbst gesperrt, der Browser fragte gar nicht erst, der Knopf sagte nur „nicht verfügbar“. Scheitert die Ortung, nennt die Meldung jetzt den Grund: verweigert, zu langsam oder gerade nicht verfügbar. (#1174)
- •Das Aufteilen-Angebot bei Themen greift nur noch bei echten Listen. Die erste Fassung erkannte jede Aufzählung mit Komma — und damit auch Beisätze („Oldenburg, Stadt der Wissenschaft"), Angaben mit Zahl („Klimaschutz 2035, Maßnahmenplan") und Sätze mit „und" („Radwege, Fahrradstraßen und Abstellanlagen" wurde zu „Radwege" und „Fahrradstraßen und Abstellanlagen"). Jetzt zählt nur noch, was aus reinen Namen besteht: kein Artikel, keine Präposition, kein „und", keine Zahl in einem der Teile. Saubere Listen wie „Kitas, Schulen, Spielplätze" oder die sieben Stadtteile aus dem Bestand werden weiterhin angeboten. Der Preis: „Bebauungsplan 851, Bebauungsplan 852" wird nicht mehr erkannt — ein fehlendes Angebot ist das kleinere Übel. (#1229)
- •Auf der Viertel-Karte sind Abschnittsgrenzen keine Baustellen mehr. Wird die Tweelbäker Tredde „von Am Schmeel bis Brahmweg“ ausgebaut, sind die beiden Grenzstraßen nicht betroffen — vorher standen sie mit Linie und Pin auf der Karte wie eigene Vorhaben. Jetzt trägt nur der Gegenstand Linie und Pin, die Grenzen stehen im Detail als „Abschnitt: …“. Straßen, die ein Vorhaben nur benennen („Quartier Am Schmeel/Krusenbusch“), bekommen ebenfalls keine Linie mehr und stehen als „Umfeld: …“. Und sobald ein Vorhaben ausgewählt ist, treten die anderen auf der Karte zurück. Web und App. (#1144)
- •Die Bahnbrücke Krusenbusch–Bümmerstede steht auf der Viertel-Karte. Das Bauwerk hat keinen Straßennamen, kein Geocoder fand es, und das Vorhaben hing an einem Nebenweg. Jetzt trägt es einen redaktionell geprüften Punkt samt Linie über die Bahn — und weil die Linie beide Seiten berührt, sehen Krusenbusch und Bümmerstede das Vorhaben in ihrem Viertel. (#1148)
- •Der Bericht der Verwaltung bricht nicht mehr mitten im Satz ab. Auf Beschluss-Seiten stand unter „Warum es dazu kam" nur der Anfang von Sachverhalt und Begründung — nach 2600 Zeichen endete der Text mit drei Punkten, und zwar auch dann, wenn man ihn über „Mehr anzeigen" ganz aufgeklappt hatte. Betroffen war gut die Hälfte aller Vorlagen. Jetzt kommt der Bericht vollständig; gekürzt wird nur noch die Anzeige, nicht der Text. Gleichzeitig fällt am Ende der Verwaltungs-Schwanz weg: die Anlagen-Liste, die gleich daneben unter „Dokumente & Anlagen" steht, und die Unterschrift, die aus dem PDF als Buchstabensalat („D r . S v e n U h r h a n") herausfiel. Die Angabe zu den finanziellen Auswirkungen bleibt erhalten. (#1205)
- •Die Schrittliste des Wochenlaufs kannte einen Schritt nicht. Beim Zusammenführen der Zweige kam das Holen der Bebauungsplan-Umringe dazu, ohne dass der Katalog im Kopf der Datei es erfuhr — genau der Fall, gegen den seit kurzem ein Wächter steht. Er hat angeschlagen; die Liste ist wieder vollständig. (#1216)
- •Die Wochenvorschau fiel aus, sobald eine frisch veröffentlichte Tagesordnung noch keine KI-Tragweite hatte. Punkte, die nur nach Regeln bewertet waren, trugen das Feld für den Tragweite-Grund gar nicht, und der Endpunkt brach mit einem Validierungsfehler ab. Am 07.09.2026 blieb deshalb nach einem Deploy die Prod-API gut siebzig Minuten gestoppt: Die Rauchprobe stolperte über genau diesen Endpunkt, und die Wartungssperre hielt fail-closed. Das Feld ist jetzt immer da, notfalls leer. (#1179)
v2.2.0
2026-09-06Hinzugefügt
- •Ausschüsse teilen — wahlweise mit einem bestimmten Tagesordnungspunkt. An jeder Sitzung steht jetzt ein Teilen-Knopf, und an jeder Zeile der Tagesordnung noch einer: Der eine verschickt die Sitzung, der andere die Sitzung samt genau diesem Punkt. Wer den Link öffnet, landet auf der Sitzung, wird zu dem gemeinten Punkt gerollt und sieht ihn hervorgehoben. Der geteilte Link geht auch ohne Konto auf. Er führt auf eine eigene Sitzungs-Seite mit Tagesordnung, Kurzfassungen, Anlagen und — nach der Sitzung — den Ergebnissen; die Einladung zum Konto steht am Fuß, nicht davor. Bisher sah, wer „guck mal, was am Donnerstag drankommt" weitergereicht bekam, zuerst das Registrierungsformular. In der iPhone- und iPad-App gibt es beides genauso: Teilen im Kopf der Sitzung und an jedem Punkt. Ein geteilter Link öffnet auf iOS wieder die App. (#1077)
- •Der wöchentliche Sammel-Lauf zeigt seine 18 Schritte einzeln. Unter seiner Kachel im Admin-Panel lässt sich jetzt aufklappen, welcher Schritt gelaufen ist und wie lange er gebraucht hat — mit einem Balken, an dem sofort auffällt, wo die Zeit hingeht. Bisher stand dort eine einzige Zahl („18 Schritte, 0 fehlgeschlagen"); welcher Schritt zwei Stunden brauchte, wusste nur das Server-Log, obwohl der Lauf es die ganze Zeit mitschrieb. Ein gescheiterter Lauf behält seine Bilanz außerdem. Bisher wurden beim Abbruch alle Kennzahlen verworfen — ausgerechnet an dem Tag, an dem ein Schritt ausfällt, stand nur „fehlgeschlagen" da und man musste im Log suchen, welcher es war. (#1098)
- •Fehler melden sich jetzt selbst. Ging im Web etwas schief, stand das bisher nur im Server-Log — wer nicht zufällig nachsah, erfuhr nie davon. Jetzt landet jeder unbehandelte Fehler gruppiert im Admin-Panel unter *Fehler*, mit Zähler, 30-Tage-Verlauf und Haken zum Abarbeiten; die erste Begegnung mit einer neuen Fehlerart meldet sich zusätzlich per Mail. Dieselbe Liste nimmt Fehler aus dem Browser auf. Gespeichert werden nur Fehlertyp, Meldung, die ersten Zeilen des Stapels und der Seitenpfad — keine Suchanfrage, kein Konto, kein Cookie, keine Kennung des Geräts. Adressen, Token und lange Ziffernfolgen werden vorher unkenntlich gemacht. (#1105)
- •Die KI-Frage kennt jetzt die Fachwörter. „Was ist eine Ausfallbürgschaft?" beantwortete sie bis heute mal so und mal gar nicht — je nachdem, ob zufällig ein gefundener Beschluss den Begriff nebenbei miterklärte. Die Erklärungen lagen zwar längst im Ratslotse, aber nur auf den Haushalts-Seiten und damit außer Reichweite der Antwort. Jetzt stehen sie an einer Stelle, und die Antwort bekommt sie mit: Wer nach einem Begriff fragt, bekommt zuerst die Erklärung und danach, was der Rat dazu entschieden hat. Im Antworttext liegt unter jedem Fachwort eine kurze Erklärung — bei der ersten Nennung gepunktet unterstrichen, zum Überfahren oder Antippen. Auch „Einfacher erklären" arbeitet damit, statt die Wörter selbst zu deuten. Dazu 52 neue Begriffe, ausgewählt an dem, worüber man in den Unterlagen wirklich stolpert: Ausfallbürgschaft, Verpflichtungsermächtigung, Aufwandsspaltung und Teileinrichtung aus dem Straßenausbau, Leitantrag, Vertagung und Kenntnisnahme aus dem Sitzungsalltag, dazu die Schritte eines Bebauungsplans von der Auslegung bis zum Satzungsbeschluss. (#1115)
- •Kalender-Abo: die eigenen Sitzungen in Apple Kalender, Google oder Outlook. Unter *Ausschuss-Abos* (App und Web) und über das Kalender-Zeichen in der Sitzungsliste gibt es jetzt eine Abo-Adresse je Konto. Drin sind die Sitzungen der abonnierten Gremien und jede Sitzung, auf deren Tagesordnung ein eigenes Thema steht — die kommenden plus die letzten sechs Wochen. Jeder Termin trägt die wichtigsten Punkte mit ihrem Grund, die Treffer zu den eigenen Themen, Ort und geschätztes Ende und den Link zur Sitzungsseite mit Tagesordnung, Vorlagen und später dem Ergebnis; Sitzungen mit einem eigenen Thema bekommen eine Erinnerung am Vorabend. Der Kalender aktualisiert sich alle paar Stunden von selbst, und die Adresse lässt sich jederzeit erneuern. (#1123)
- •Welcher Punkt läuft gerade im Rat — live aus der Übertragung. Der Mitschnitt-Job, der die Ratssitzung aus dem O1-Stream aufzeichnet, transkribiert jetzt streamend (Gladia, EU-Region, mit den Namen der Ratsmitglieder als Wortliste) und verfolgt alle 15 Sekunden — und sofort, wenn die Leitung einen Punkt aufruft oder das Wort erteilt —, welcher Tagesordnungspunkt gerade dran ist, in welcher Phase (Aufruf, Aussprache, Abstimmung) und wer das Wort hat; ein Aufruf steht damit etwa sieben Sekunden nach dem Satz auf der Karte. Ohne Streaming-Schlüssel läuft derselbe Weg in 30-Sekunden-Stücken. Die Live-Karte auf „Heute" zeigt in Web und App „Gerade: TOP 9.3 · Titel · Name (Fraktion) spricht", die Tagesordnung hebt den laufenden Punkt rot hervor — bei einem Block von Formalien als Spanne wie „TOP 9.4–9.8". Beides ist ehrlich beschriftet: aus der Live-Übertragung, mit unter einer Minute Verzug, und mit „Stand vor N Min." aus der eigenen Uhr. Sprecher und Fraktion kommen aus der Anwesenheitsliste der jüngsten Ratssitzung; wer dort nicht steht, wird nicht geraten. Gemessen an der Aufzeichnung vom 31.08.: jeder Punkt mit Aussprache richtig verfolgt, ein neuer Punkt im Mittel 40 Sekunden nach seinem Aufruf sichtbar, Name und Fraktion in 355 von 456 Stücken, Kosten rund 1 $ je Sitzung. (#1124)
- •„Mein Viertel“: Was sich im eigenen Ortsbereich in den nächsten Jahren ändert. Unter /viertel und in der App steht für jeden der 31 Ortsbereiche eine Karte mit einem Pin je Vorhaben — Wohnungsbau, Straßenumbau, Schulen, Sportplätze —, gebündelt aus allen Beschlüssen, Berichten und Anträgen dazu und mit Stand (Idee, Planung, beschlossen, im Bau). Straßen liegen als Linie auf der Karte, eine Stufenleiste filtert nach Stand, ein Tipp auf Pin oder Zeile öffnet das Vorhaben mit seinem Weg und seinen Beschlüssen. Ein Sprachmodell prüft je Beschluss, ob er wirklich dieses Viertel betrifft; was stadtweit gilt oder den Ortsnamen nur erwähnt, bleibt draußen. Dazu: was demnächst im Rat dazu ansteht, welche Straßen im Investitionsprogramm stehen und wo gerade eine Beteiligung läuft. Die Tafel ist ohne Konto lesbar; Angemeldete können ein Vorhaben als „Gehört nicht hierher“ melden. Das Register rechnet der Wochenlauf; bis Tim es freigibt, hängt der Bereich am Feature-Schalter
mein-viertel. (#1125) - •Vorschläge aus deinem Stadtteil sagen jetzt, warum sie dort stehen. Unter jedem Vorschlag steht in einer kurzen Zeile der Beschluss, der ihn mit dem Stadtteil verbindet — bei der Kommunalen Wärmeplanung unter Kreyenbrück etwa „Maßnahme Machbarkeitsstudien". Damit ist auf einen Blick klar, warum ein stadtweites Vorhaben unter einem Stadtteil auftaucht, statt wie ein Fehler auszusehen. (#1059)
- •Die Instagram-Karten bekommen Überschriften, die sagen, worum es geht. Der amtliche Titel eines Tagesordnungspunkts sagt oft nur, wer wann etwas eingereicht hat — „Änderungsantrag der CDU-Fraktion vom 10.06.2026" —, oder er ist so lang, dass die Karte ihn mit „…" abschneiden musste. Der nächtliche Kartentext-Lauf schreibt jetzt zu jedem Punkt auch eine Überschrift von höchstens 60 Zeichen, die die Sache nennt („Baumschutzsatzung bis Jahresende aussetzen"); dieselben Prüfungen wie beim Text gelten mit — keine Wertung, kein vorweggenommenes Ergebnis, keine Zahl, die nicht in den Unterlagen steht. Und ein Änderungsantrag zählt jetzt zu dem Antrag, den er ändert: Zwei Anträge zur Baumschutzsatzung sind auf der Karte ein Thema mit zwei Absendern, nicht zwei Zeilen, von denen eine niemandem etwas sagt. Die Wochenvorschau-Schnittstelle liefert dafür
social_headlineundgroup_applicants.
Geändert
- •Die Ausschuss-Abos sehen aus wie der Einrichtungs-Assistent. Jedes Gremium steht jetzt als Kachel mit seinem Zeichen — Kelle für den Bau, Blatt fürs Grün, Bus für den Verkehr —, zu zweit nebeneinander, sobald der Platz reicht. Abonnierte Gremien sind an der gefüllten Scheibe und dem getönten Rahmen zu erkennen. Es fällt nichts weg, im Gegenteil: Die Zahl der Beschlüsse dieses Jahres stand vorher nur auf breiten Fenstern in der Zeile und war auf dem Telefon gar nicht zu sehen; sie gehört jetzt fest zur Kachel. (#1069)
- •Die iOS-App bekommt Charakter: Tide-Widgets, Wochenband, Lotti in jedem Zustand. Die Startseite besteht jetzt aus Widgets mit getönter Kopfleiste und Wellenkante in der Farbe dessen, wovon sie sprechen — Hafenblau für Termine, Watt-Grün für Beschlüsse, Boje-Orange für deine Themen; das Fundstück steht als das eine hervorgehobene Widget je Seite auf einer getönten Anzeigetafel. „Deine Ratswoche" zeigt oben ein Wochenband mit heute gefüllt und einem Punkt je Sitzung; ein Tipp auf einen Tag fährt die Markierung dorthin und zeigt darunter die Sitzungen ab diesem Tag. die Zahl der Woche zählt beim ersten Blick hoch und verschwindet, wenn sie nichts zu sagen hat. Statt des orangen Knopfs steht „Frag den Rat" als Eingabezeile wie auf der Fragen-Seite. Die Sitzungsliste gruppiert nach Tag („Heute", „Morgen") und trägt Uhrzeit plus Gremium in der Kopfleiste jeder Karte; Punkte zu deinen Themen sind darin hervorgehoben, eine noch fehlende Tagesordnung steht gestrichelt da. Leer-, Lade- und Hinweiszustände zeigen Lotti — schlafend, jonglierend, mit erhobener Hand — und der Anmelde-Hinweis der Merkliste bekommt den Anmelden-Knopf. Dazu die Bewegungs-Grammatik der Designsprache: vier Takte, gestaffelte Auftritte (gedeckelt bei sechs Zeilen) und eine gleitende Markierung im Segment-Schalter; bei reduzierter Bewegung steht sofort der Endwert. Jede Sitzungskarte trägt jetzt das Zeichen ihres Gremiums (dieselbe Tabelle wie im Web) in einer von vier Familienfarben — Hafenblau für Rat und Verwaltung, Watt-Grün für Grün und Abfall, Ziegel für das Gebaute, Pflaume für die Menschen —, darunter einen Satz, was dort verhandelt wird; die Ratssitzung ist die eine hervorgehobene Karte der Liste. Und jede Sitzung nennt ihre wichtigsten Punkte, in App und Web, mit derselben Bewertung wie „Diese Woche im Rat“. Auf „Meine Themen“ sind die Vorschläge aus dem Rat eine schmale Chip-Zeile statt eines Kachelfelds, und jedes Thema ist eine Karte in Boje-Orange mit Zeichen, „2 neue“ und Menü in der Kopfleiste; Segment-Schalter, Tageswähler und ein übernommener Vorschlag melden sich in der Hand. Ab iOS 18 wächst eine Beschluss- oder Sitzungskarte beim Antippen zu ihrer Seite auf, statt sie hereinzuschieben; langes Drücken zeigt die Karte als Vorschau mit Merken und Teilen, bei Sitzungen auch „In den Kalender“. (#1116)
- •Benachrichtigungen nach Nutzerart, ein Ergebnis-Brief je Protokoll-Schub, und Wichtiges darf durch. Wer sich neu anmeldet, bekommt den Wochenüberblick ab Werk und die Tagesordnung je Gremium nur, wenn er sie ausdrücklich einschaltet; ein Konto mit Ratsmandat bekommt dagegen jede Tagesordnung jedes abonnierten Gremiums sofort. Bestandskonten behalten genau das, was sie bisher bekamen. Ergebnisse aus dem Protokoll kommen nicht mehr als eine Meldung je Sitzung, sondern als ein Brief je Person und Lauf: gruppiert nach Thema und gemerkten Punkten, der Beschluss mit der größten Tragweite führt jede Gruppe an — mit Ergebnis, Stimmen, Betrag und Lottis Kurzfassung —, der Rest steht als Liste darunter. Und die Grenze von zwei Meldungen am Tag lässt jetzt durch, was groß ist: Eine Tagesordnung mit einem Punkt ab Tragweite 60 und ein Ergebnis-Brief mit so einem Beschluss gehen einzeln raus, auch wenn die zwei des Tages verbraucht sind. (#1126)
- •Nach dem Bestätigen der E-Mail geht es direkt ins Einrichten. Zwischen dem Klick im Bestätigungslink und Lottis Begrüßung stand bisher noch eine eigene Erfolgsseite mit „Weiter zum Dashboard" — anderthalb Sekunden lang und ohne eigenen Nutzen. Sie entfällt. Der Screen, auf dem man auf die E-Mail wartet, sagt jetzt sichtbar, dass er wartet, und springt von selbst weiter, sobald der Link geklickt ist — auch im Tab, in dem registriert wurde. (#1066)
- •Der Themen-Schritt des Einrichtungs-Assistenten schlägt jetzt Stadtthemen vor statt Straßennamen. Ganz oben stehen kuratierte Themen wie Radverkehr, Kitas, Wohnungsbau oder der Stadion-Neubau, jedes mit der Zahl der Beschlüsse aus den letzten zwölf Monaten; was der Rat kaum verhandelt, wird gar nicht erst angeboten. Darunter steht ein kompakter Block mit ein bis zwei Vorschlägen je gewähltem Stadtteil. Die Vorschläge von nebenan und die lange stadtweite Liste sind aus dem Assistenten verschwunden. Die App bekommt die Stadtthemen über dasselbe Feld der Schnittstelle mit dem nächsten Update. (#1059)
- •Der Einrichtungs-Assistent rechnet jetzt in einem Zeitraum — und fragt die Benachrichtigungen wirklich. Wer den Vorschlag „Digitale Verwaltung 7“ anklickte, las oben in „Deine Themen“ plötzlich „23 Beschlüsse“: unten die letzten zwölf Monate, oben der ganze Bestand seit 2018. In der Einrichtung steht jetzt überall dieselbe Zwölf-Monats-Zahl; die Gesamtzahl bleibt der Themen-Karte vorbehalten, wo sie hingehört. Außerdem war die Frage „Soll Lotti sich melden?“ bisher schon beantwortet, bevor sie gestellt wurde — die Registrierung hatte E-Mail-Benachrichtigungen vorbelegt, und der Schritt meldete brav, sie seien „bereits eingeschaltet“. Ein neues Konto im Browser startet nun ohne Zustellweg: Es bekommt Benachrichtigungen erst, wenn man an dieser Stelle zusagt. Die einmalige Erinnerung an eine liegen gebliebene Einrichtung geht davon unabhängig weiterhin raus. (#1070)
- •Ein Thema mit mehreren Anträgen bekommt auf der Instagram-Karte einen Text, der alle nennt. Unter „Änderungen der Baumschutzsatzung" stand die Erklärzeile des höher bewerteten Antrags — also nur, was die CDU will, obwohl BSW und SPD den Antrag gestellt hatten. Der nächtliche Kartentext-Lauf schreibt für solche Gruppen jetzt einen gemeinsamen Text aus dem Material aller Punkte („SPD und BSW wollen …; die CDU will …"), mit denselben Prüfungen wie für jeden Einzeltext. Die Wochenvorschau-Schnittstelle liefert ihn als
gruppe_text. Und die Karten-Überschrift darf nicht mehr weglassen, was den Gegenstand eingrenzt: „Aktionsplan gegen Gewalt an Frauen", nicht „Aktionsplan gegen Gewalt" — und sie sagt, was ansteht, nicht was herauskommt.
Behoben
- •Die Tagesordnung in der App zeigt wieder ihre Anlagen. Die App las das Feld unter einem Namen, den es auf der Leitung nie gab — ohne Fehlermeldung, einfach als leere Liste. Gerade Fraktionsanträge ohne Vorlage hängen nur dort. Dazu ist die Zeile neu geordnet: TOP-Nummer und Teilen-Zeichen stehen jetzt in einer schmalen Kopfzeile, Titel und Kurzfassung laufen darunter über die volle Breite. Dringlichkeitsanträge sind als solche markiert, die Vorlagennummer steht dabei, und der Weg ins Ratsinfosystem ist ein Knopf statt einer blauen Textzeile. (#1110)
- •Die App nannte die falsche Version. In den Einstellungen stand 2.0.0, obwohl 2.1.0 draußen war — der Versionsschnitt zog
ios/bisher nicht mit. Tut er jetzt, und ein Wächter hält beides zusammen. (#1108) - •In der App kommt man wieder mit einem Wisch zurück. Vom linken Rand nach innen zu ziehen tat auf keinem Unterscreen etwas — die App zeichnet ihre eigene Kopfzeile und blendet dafür die System-Leiste aus, und iOS schaltet mit der Leiste auch die Geste ab. Sie ist zurück, ohne dass sich am Aussehen etwas ändert. (#1111)
- •Der Cron für die Kartentexte lief unbeobachtet — jetzt steht er im Admin-Panel wie alle anderen. Er schreibt täglich einen erklärenden Satz je Tagesordnungspunkt, kostet dabei Geld, und war als einziger Job nicht in die Absicherung eingehängt: kein Eintrag unter *Statistik → Cron-Jobs*, keine Fehlermeldung beim Absturz. Wäre er ausgefallen, hätte es niemand bemerkt. Damit sich das nicht wiederholt, prüft ein Test das jetzt am Quelltext statt an einer abgeschriebenen Liste: Jedes Skript, das einen Lauf protokolliert, muss entweder ein eingetragener Cron sein oder ausdrücklich als Unterschritt eines anderen geführt werden. (#1095)
- •Zwei Ausschüsse standen dauerhaft ohne Beschlüsse da. Beim Ausschuss für Wirtschaftsförderung fehlte seine einzige Sitzung des Jahres im Bestand: Der Kalenderlauf las nur nach vorn, und was er in seinem Fenster einmal verpasst hatte — ein ausgefallener Lauf, eine spät veröffentlichte Tagesordnung —, sah er nie wieder; 14 der 79 Sitzungen des Jahres 2026 fehlten so. Er blickt jetzt bei jedem Lauf drei Monate zurück und trägt nach, was fehlt. Beim Ausschuss für Allgemeine Angelegenheiten wurde jedes Protokoll übersehen, weil die Erkennung das Wort „öffentlich" in der Dateibeschriftung verlangte — dieser Ausschuss schreibt es nicht dazu. Sechs Protokolle seit Juni kommen dadurch nach, ohne dass ein nichtöffentliches oder ein fremdes Papier hereinrutscht. (#1072)
- •Ein gedrosselter LLM-Anbieter reißt den Kartentext-Lauf nicht mehr ab. Als OpenRouter das Modell am 06.09.2026 drosselte, brach der nächtliche Lauf bei jedem 429 mitten in der Liste ab — sieben Alarmmails an einem Vormittag, und die Gruppentexte danach kamen gar nicht mehr dran. Jetzt bleibt der eine Punkt offen und kommt im nächsten Lauf wieder; die anderen werden geschrieben. Nur wenn der Anbieter den ganzen Lauf verweigert, gibt es einen Alarm — einen.
- •Die Kennzahlen der Straßen-Geokodierung stehen jetzt wirklich im Admin-Panel. Der tägliche Lauf rechnete sie zwar aus — wie oft Overpass ausfiel, wie viele Straßen nur ein Teilstück tragen —, aber
check_protocolsnahm sie nie entgegen; in keinem einzigen Eintrag unter *Statistik → Cron-Jobs* stand je eine davon. Damit konnte ein Ausfall nur als Mail auffallen, und weil eine Mail sonst nie käme, war ihre Schwelle so tief gesetzt, dass eine einzelne abgewiesene Anfrage sie auslöste. Neu sichtbar: wie viele Straßen aus dem Schnappschuss kamen (ohne jede Anfrage), wie viele Overpass-Ausfälle es gab, wie viele Namen OpenStreetMap gar nicht führt, und wie viele Straßen im Bestand keine vollständige Geometrie tragen. (#1093) - •Straßen holen ihre Geometrie jetzt aus dem wöchentlichen Schnappschuss, statt jede neue Straße einzeln bei Overpass zu erfragen. Der öffentliche Dienst weist rund jede zweite Abfrage mit „429" oder „504" ab; die Erreichbarkeitsprobe fragte aber nur ein einziges Mal und erklärte ihn danach für den ganzen Lauf als ausgefallen. Ein Tag mit zwei neuen Straßen löste so eine Betriebsmeldung über einen Totalausfall aus, während der Dienst lief. Der wöchentliche Lauf holt ohnehin alle benannten Wege Oldenburgs in einem Aufruf und lässt die Datei liegen — sie wird jetzt zuerst gefragt, und damit kommen die meisten Straßen ganz ohne Netz zu ihrer vollständigen Geometrie. Wo doch gefragt werden muss, wiederholen Probe und Abfrage mit wachsender Pause. Die Betriebsmeldung erscheint erst ab fünf verlorenen Straßen und erklärt, dass der Bestand an unvollständigen Straßen sich durch den Reparatur-Workflow nicht verringert — es sind Namen, die OpenStreetMap gar nicht führt. (#1090)
- •Lottis Einladung zur Tour kam nach der Einrichtung nicht. Sie hörte auf ein Signal, das der Einrichtungs-Assistent im Moment seines Abschlusses gibt — und wer es in genau dieser Sekunde nicht hört, hörte es nie wieder. Nicht gehört hat es unter anderem, wer den Assistenten in einem Browser-Tab beendet, der schon länger offen ist. Jetzt hält der Assistent selbst fest, dass die Einladung dran ist; Lotti fragt danach zuverlässig, notfalls beim nächsten Aufruf. (#1068)
v2.1.0
2026-09-03Hinzugefügt
- •Lotti lädt nach der Einrichtung zur Tour ein. Wer den Einrichtungs-Assistenten beendet hatte, stand danach unvermittelt auf der vollen Übersicht — und die geführte Tour, die genau das erklärt, begann hinter einem kleinen Knopf in der „Erste Schritte“-Karte, den man erst einmal finden musste. Jetzt tritt Lotti direkt danach groß vor die Seite und fragt, ob sie einmal herumführen soll: „Tour starten“ beginnt sofort, „Erst mal selbst umschauen“ schließt die Einladung, und ein Hinweis nennt den Ort, an dem die Tour später jederzeit wartet. Die Frage kommt genau einmal. (#1061)
- •Rollen: Der Haushalt gehört jetzt den Ratsmitgliedern. Ein Konto konnte bisher nur „Nutzer*in" oder „Admin" sein. Neu kommt die Rolle Ratsmitglied dazu, und ein Konto kann mehrere gleichzeitig tragen. Woran eine Rolle hängt, sind Rechte: Ratsmitglieder und Admins haben das Recht auf den Haushalts-Bereich — die zwanzig Seiten mit Zahlen, Belegen und Auswertungen —, alle anderen sehen ihn nicht und finden auch keinen Link dorthin. Der Bereich war zuvor überhaupt nur auf der Testumgebung erreichbar; er fährt damit mit und ist dort sichtbar, wo er hingehört. Admins vergeben die Rollen im Admin-Panel unter *Web-Nutzer*innen*, in der App genauso. Für die geplante vereinfachte Ansicht ist damit die Grundlage gelegt: Weitere Rollen sind ein Eintrag im Server und brauchen weder ein neues Frontend noch ein App-Update. (#1044)
Geändert
- •Die Oberfläche bewegt sich jetzt mit. Die Markierung des aktiven Punktes fährt in der Seitenleiste, in der Tab-Leiste und in den Segment-Umschaltern von einem Ziel zum nächsten, statt am alten zu verlöschen und am neuen aufzutauchen — man sieht, wo man herkam. Das „Mehr"-Blatt auf dem Telefon fährt von unten ein und wieder hinaus, Treffer- und Sitzungslisten laufen gestaffelt ein, und neue Zähler kommen mit einem kurzen Aufpoppen an. Alles davon ruht, wenn im Betriebssystem „Bewegung reduzieren" eingeschaltet ist. (#1045)
- •Die Themen-Vorschläge erscheinen jetzt Stadtteil für Stadtteil. Wer mehrere Stadtteile gewählt hat, wartete bisher, bis alle fertig waren — bis dahin standen dort nur Platzhalter. Jede Gruppe wird nun einzeln geholt und erscheint, sobald sie da ist; die noch laufenden nennen sich mit Namen, damit klar ist, was noch kommt. (#1043)
- •Aus dem Tag wird jetzt automatisch ein GitHub-Release. Der Versionsschnitt setzte bisher nur den Changelog-Abschnitt; das Release auf GitHub musste jemand danach von Hand anlegen — und genau das fiel dreimal aus: v1.14.0, v1.15.0 und v2.0.0 lagen wochenlang als bloße Tags im Repository, während die Release-Seite v1.13.2 als neuesten Stand zeigte.
changelog_schnitt.pykann den Schritt jetzt selbst (--release): Es liest den fertigen Abschnitt ausCHANGELOG.md, prüft, dass der Tag wirklich bei GitHub liegt und das Release noch nicht existiert, und legt es an. Ist ein Jahrgang zu umfangreich für einen Release-Text — GitHub nimmt 125.000 Zeichen, der Abschnitt zu 1.14.0 hat 181.451 — gehen statt eines Fehlers nur die Kernsätze aller Einträge raus, darüber der Verweis auf den vollständigen Text. Und „Latest" bekommt nur, wer im Changelog obenauf steht: Ein nachgereichtes Release für einen alten Tag darf den aktuellen Stand nicht verdrängen. (#1053) - •Die Seitenzahlen rasten weiter. Die Blätter-Leiste wuchs bisher mit der Position — auf Seite 1 standen vier Felder da, auf Seite 4 sieben. Jeder Klick schob damit alle Zahlen zur Seite. Jetzt hat sie immer gleich viele Felder, und die blaue Markierung fährt von einer Zahl zur nächsten, statt an der einen zu verlöschen und an der anderen aufzutauchen. (#1052)
- •Die Straßen-Geometrie frischt sich jetzt wöchentlich selbst auf. Neu hinzugekommene Straßen mussten bisher von Hand nachgetragen werden. Der sonntägliche Lauf holt die Umrisse jetzt in einem Zug mit — und wiederholt es mit wachsender Pause, wenn der Kartendienst gerade ausgelastet ist, statt still ein Teilstück zu speichern. (#1051)
Behoben
- •Blättern und Aufklappen ruckeln nicht mehr. Beim Wechsel der Seitenzahl wurde die Trefferliste kurz durch ein Ladeskelett ersetzt — die Seite wurde schlagartig kürzer, sprang beim Eintreffen der neuen Treffer zurück und der Sprung zum Listenanfang arbeitete dagegen. Jetzt bleiben die bisherigen Treffer stehen und werden nur leiser, bis die neuen da sind. Die Tagesordnung einer Sitzung fährt auf und zu, statt zu erscheinen und zu verschwinden, und wartet dabei, bis ihre Punkte geladen sind — solange dreht sich an der Karte ein Fortschrittszeichen. (#1050)
- •Ein Changelog-Eintrag stand seit August mit einer Überschrift mitten im Satz. Auf ratslotse.de/changelog begann der Eintrag zu #816 mit „
### Kurzfassungen: genauer, aktuelleres Modell, keine stillen AusfälleDie Tragweite-Gründe und TOP-Kurzfassungen laufen …" — die Überschrift des Fragments war beim Versionsschnitt in den Listenpunkt gerutscht, weil der Schnitt jedes Fragment zu *einem* Punkt zusammenzieht. Der Eintrag ist jetzt im gewohnten Stil geschrieben, inhaltlich unverändert. Damit das nicht wieder passiert, weist die Fragment-Prüfung eine Überschrift am Textanfang jetzt ab und sagt, wie es stattdessen aussehen muss; mehrere Absätze bleiben erlaubt. (#1055) - •Straßen im eigenen Stadtteil stehen nicht mehr unter „direkt nebenan". Von Straßen, deren Name kein geläufiges Muster trifft — „Tweelbäker Tredde", „Am Schmeel", „Babenend" —, war bisher nur ein einzelnes Stück gespeichert, und damit auch nur ein Teil der Stadtteile, durch die sie führen. Im Einrichtungs-Assistenten landeten sie deshalb unter den Nachbarschafts- Vorschlägen, obwohl sie mitten durch den eigenen Stadtteil laufen. Sie werden jetzt vollständig geholt, und der Nachbar-Block lässt grundsätzlich weg, was auch im eigenen Bereich liegt. Außerdem steht ein Bebauungsplan nicht mehr neben dem Ort, den er in seiner zweiten Zeile ohnehin nennt: Der Klartext bleibt, die Plannummer geht. (#1043)
- •Ein ausgefallener Kartendienst fällt jetzt auf. Bislang konnte die Straßen-Geokodierung stillschweigend auf einen zweiten Dienst zurückfallen und dabei nur Teilstücke speichern — der Lauf meldete trotzdem Erfolg. Er prüft die Erreichbarkeit jetzt einmal vorab, schreibt Ausfall und Folge ins Protokoll, zählt beides in seinen Kennzahlen und meldet einen Totalausfall per E-Mail. (#1048)
- •Kein blaues Rechteck mehr über der Stadtteil-Karte. Wer im Einrichtungs-Assistenten einen Stadtteil anklickte, bekam einen rechteckigen Rahmen quer über die Karte gelegt — der Fokus-Rahmen des Browsers, der bei Karten-Flächen nicht dem Umriss folgt, sondern dem Kasten darum. Die Karte ist jetzt reine Zeige-Fläche; Tastatur und Screenreader gehen wie bisher über die Stadtteil-Liste darunter. (#1041)
- •Das Statistik-Archiv erreicht die Tabellen zum kommunalen Finanzausgleich wieder. Der Archivlauf verwendet nun die aktuelle Adresse des Landesamts für Statistik Niedersachsen. (#1049)
- •Straßen kennen wieder alle Stadtteile, durch die sie führen. Von einer Straße stand oft nur ein einzelnes Teilstück in der Datenbank — und damit auch nur ein Teil ihrer Stadtteile. „Tweelbäker Tredde" galt als Straße in Tweelbäke, obwohl der größere Teil in Krusenbusch liegt. Ursache war ein Kartendienst, den die Server überhaupt nicht erreichen; der Rückfall auf den zweiten Dienst lieferte still nur ein Teilstück. Die Straßen werden jetzt in einem Zug vollständig geholt und der Ausfall wird gemeldet statt verschluckt. (#1046)
v2.0.0
2026-09-03Hinzugefügt
- •Der Admin-Bereich zeigt jetzt, ob jemand die App oder das Web benutzt. Die Clients sagen beim Zugriff, wer sie sind — bisher wertete das nur die Anmeldung aus, und zwar allein zu der Frage „nativ ja/nein". Jetzt nennen sie ihre Plattform, und die Statistik hält zwei getrennte Zahlen fest: womit jemand sich registriert hat und womit er seitdem arbeitet. Das auseinanderzu halten ist der Punkt — wer sich im Browser anmeldet und danach nur noch die App öffnet, sähe sonst wie ein reines Web-Konto aus. In der Nutzerliste steht die Aufteilung als Kurzform an jeder Zeile („Web + App"), im Detail als Anteils balken, und im Statistik-Tab für den ganzen Bestand. Konten und Zugriffe von vor dieser Umstellung bleiben ausdrücklich als „vor der Messung" stehen, statt zu „Web" gerundet zu werden: Ungemessen ist keine Plattform. (#901)
- •Auch die Änderungslisten zum Finanzhaushalt werden jetzt gelesen. Bisher kannte Ratslotse nur die Listen zum Ergebnishaushalt — also zu dem, was die Stadt erwirtschaftet und verbraucht. Der Finanzhaushalt sagt, was tatsächlich fließt und vor allem, was investiert wird; seine Listen zeigen damit, wie im Verfahren an einzelnen Bauvorhaben geschraubt wurde. Eingelesen sind 15 der 18 Listen mit 250 Positionen, 132 davon mit dem Investitionscode ihres Vorhabens — über den lassen sie sich später mit den 4.459 geplanten Vorhaben zusammenbringen. Sieben der acht Jahrgänge sind vollständig; für 2019 geht die einzige Liste nicht auf und bleibt deshalb ungelesen, statt halb zu erscheinen. Der Finanzhaushalt bringt eine Probe mit, die der Ergebnishaushalt nicht hat: Jede Zeile rechnet sich selbst vor — Soll laut Entwurf plus Einzahlung plus Auszahlung ergibt das neue Soll. Sie läuft an jeder einzelnen Position. Zu sehen ist davon noch nichts: Dieser Schritt liest die Dokumente ein, die Anzeige kommt danach. (#851)
- •Für 2021 steht jetzt da, wer welche Haushaltsänderung wollte. Von den Änderungslisten der Fraktionen war bisher nur die Summe belegt — die Listen selbst wurden im Ausschuss als Tischvorlagen verteilt und liegen in keinem Dokument des Ratsinformationssystems. Für den Haushalt 2021 gibt es eine Ausnahme: Die Beschluss-Datei des Finanzausschusses führt zu jeder Position eine Spalte „Vorschlag von". Auf „Mitreden" (
/haushalt/mitreden#streit) trägt deshalb jede der 187 Positionen dieses Jahrgangs ihre Urheber-Marke — 114 kamen von der Koalition aus SPD und Bündnis 90/Die Grünen, 71 von der ersten Änderungsliste der Verwaltung, 2 von der zweiten. Dass die Zuordnung stimmt, wird gerechnet und nicht geglaubt: Die Positionen jedes Urhebers müssen genau seine Summe in der Zusammenstellung des Dokuments ergeben, sonst wird die Liste gar nicht erst gespeichert. Für alle anderen Jahrgänge sagt die Seite unverändert, dass nur die Summe belegt ist. Zwei Fehler in derselben Ecke sind dabei mit aufgefallen und behoben. Die Erläuterungen des Jahrgangs 2021 hatten den Urheber mitten im Satz stehen („… gegen Gewalt an SPD/ Frauen u. häusl. Gewalt …"), weil die Textspalte nach rechts keine Grenze kannte. Und die Namen der Positionen wurden bislang an einer geschätzten Spaltenkante abgeschnitten statt an der im Dokument gezeichneten — quer durch alle Jahrgänge trugen 175 von 1.799 Positionen einen angeschnittenen Namen: „für SGB II" statt „Grundsicherung für Arbeitssuchende SGB II". Beide Spalten folgen jetzt den gedruckten Tabellenlinien. (#838) - •Die Betriebe-Karten zeigen, was aus dem Plan wurde. Unter jedem Wirtschaftsplan steht jetzt der jüngste geprüfte Jahresabschluss des Betriebs — Umsatzerlöse, Jahresergebnis, Bilanzsumme, Eigenkapital — mit dem Satz „geplant … geworden …“ für dasselbe Jahr und der zweiten Linie in der Kurve. Jede Zahl führt zu ihrem Prüfbericht und sagt, wie viele Berichte sie bestätigen. (#987)
- •Der lokale Server startet jetzt mit einem Befehl. Bisher musste man Ports raten und die Datenbank-Pfade von Hand zusammensetzen — lag auf dem geratenen Port schon etwas anderes, startete der eigene Server stillschweigend gar nicht, und man prüfte minutenlang gegen einen fremden. Nur für die Entwicklung; an der Website ändert sich nichts. (#1006)
- •Was aus den Wirtschaftsplänen der Eigenbetriebe wurde. Der Haushalts-Bereich kannte von Gebäudewirtschaft, Abfallwirtschaft, Bäderbetrieb und Hafen bisher nur den Plan. Jetzt liest er auch die geprüften Jahresabschlüsse aus dem Ratsinformationssystem — Umsatzerlöse, Jahresergebnis, Bilanzsumme, Eigenkapital, Investitionen — und zwar so, dass jede Zahl von den Vorjahresspalten der folgenden Berichte bezeugt wird. (#981)
- •Zwei Einnahme-Karten mehr, und die Personalkosten als Zahl. Auf „Woher kommt das Geld?" stehen jetzt auch die Erstattungen von Bund und Land und die Zuweisungen von Land und Bund als eigene Karten mit Steckbrief — die zweit- und drittgrößte Einnahme der Stadt hatten bisher nur eine Fläche, keine Erklärung. Und „Wer macht die Arbeit?" belegt, was das Personal kostet: der Posten aus dem Jahresabschluss, sein Anteil an allen Aufwendungen, der Ansatz des aktuellen Haushalts und Plan gegen Ist seit 2017. (#923)
- •Vier weitere Zahlengruppen des Haushalts sind über die KI-Frage erreichbar. Was eine Restmülltonne, eine Sperrmüllkarte oder ein Meter Straßenreinigung kostet (die Gebührensätze), was die Stadt an Anlagevermögen besitzt und was es jedes Jahr an Wert verliert, wofür sie außerhalb des Haushalts Geld bewilligt hat — je Vorlage mit Betrag — und wie viele Einwohnerinnen und Einwohner sie zählt. Damit beantwortet die Frage jede Tabelle des Haushalts-Bereichs. Außerdem antwortet die Frage bei Haushaltszahlen jetzt mit der Zahl statt mit „keine Beschlüsse gefunden“, und die Änderungslisten kennen auch den Finanzhaushalt. (#983)
- •Der Haushaltsvollzug ist auf der Seite. „Geplant und geworden" beginnt jetzt mit dem laufenden Jahr: Was die Verwaltung zum 30. Juni, 30. September und 31. Dezember für das Jahresende erwartet, gegen den Plan, für Ergebnis- und Finanzhaushalt und je Teilhaushalt — aus den vierteljährlichen Berichten an den Finanzausschuss. Die Übersicht zeigt den jüngsten Zwischenstand als Karte. (#936)
- •Der Haushaltsvollzug: wie das laufende Jahr gegen seinen Plan läuft. Der Haushalts-Bereich zeigte bisher den Plan für das kommende Jahr und die Abrechnung von vorvorletztem — dazwischen klaffte das Jahr, um das es gerade geht. Die Stadt berichtet darüber vierteljährlich an den Ausschuss für Finanzen und Beteiligungen; aus diesen Finanz- und Leistungsberichten liest der Bereich jetzt je Stichtag beide Übersichtstabellen ein: Ansatz, Prognose zum 31. Dezember und die Abweichung, für alle dreizehn Teilhaushalte und für die ganze Stadt, im Ergebnis- wie im Finanzhaushalt. 47 Tabellen aus den Jahrgängen 2018 bis 2026. Vier Rechenproben halten dabei Reihenfolge und Bedeutung der Spalten fest — welche Spalte was ist, wird gerechnet und nicht der Kopfzeile geglaubt, denn die Berichte haben 2021 ihr Tabellenlayout gewechselt. (#930)
- •Die KI-Frage kennt den Inhalt der Änderungslisten zum Haushalt. Bisher konnte sie nur zählen, wer wie viele Listen eingebracht hat. Jetzt liefert sie den Weg vom Verwaltungsentwurf zum Beschluss des Finanzausschusses — Erträge, Aufwendungen und Saldo vor und nach den Änderungen, die Summe jeder Liste und die Positionen, die zur Frage passen, mit der Erläuterung der Verwaltung. Wer eine Position beantragt hat, steht nur im Jahrgang 2021 in der Quelle; für alle anderen sagt die Antwort das ausdrücklich, statt eine Fraktion zu raten. (#960)
- •Die KI-Frage kennt jetzt die städtischen Gesellschaften und die Wirtschaftspläne der Eigenbetriebe. „Wem gehört die GSG?", „Wie viel Verlust macht die VWG?", „Was planen die Eigenbetriebe?" wurden bisher aus dem Ergebnishaushalt beantwortet — in dem keine dieser Zahlen steht. Jetzt zieht die Frage den Beteiligungsbericht (Zweck, Eigner mit Anteilen, Jahresergebnis, Bilanzsumme, Eigenkapitalquote, Aufsichtsorgan) und die Wirtschaftspläne (Erträge, Aufwendungen, Ergebnis, Vermögensplan) heran, jeweils mit Fundstelle. Die Abgrenzungen stehen dabei: Diese Beträge gehören der Gesellschaft und nicht dem Stadthaushalt, ein Wirtschaftsplan ist ein Plan und kein Jahresabschluss, die Betriebe lassen sich nicht zusammenzählen — und ein Jahresergebnis von null heißt Ergebnisabführung, nicht „macht keinen Verlust". (#948)
- •Die KI-Frage kennt jetzt den Haushaltsvollzug, die Haushaltssatzung und die Spenden an die Stadt. Fragen zum laufenden Jahr („Wie läuft der Haushalt?", „Wie viel hat die Stadt 2026 ausgegeben?") bekamen bisher den Haushaltsplan oder den zwei Jahre alten Jahresabschluss — jetzt kommt der vierteljährliche Finanz- und Leistungsbericht dazu, mit dem Ansatz, der Prognose der Ämter für den 31. Dezember und der Abweichung. Er sagt in der Antwort ausdrücklich, dass er eine Erwartung ist und kein Ist. Die Haushaltssatzung beantwortet, was die Stadt überhaupt DÜRFTE: Kreditermächtigung (in jedem Jahrgang „nicht veranschlagt"), Höchstbetrag für Liquiditätskredite, Verpflichtungs- ermächtigungen — und sie trägt den Hinweis mit, dass im Ratsinformationssystem nur Verwaltungsentwürfe liegen. Bei den Spenden nennt die Antwort Summe, Zahl der Beschlüsse und Jahresreihe und sagt dazu, dass die Namen der Gebenden nicht im Bestand sind und deshalb auch nicht genannt werden. (#950)
- •Die KI-Frage kennt jetzt einzelne Bauvorhaben, Hebesätze, Steuer-Ansätze und die Ausgaben seit 1972. „Was kostet der Ausbau der Nadorster Straße?" beantwortete sie bisher mit der Summe eines ganzen Teilhaushalts — jetzt mit dem Vorhaben selbst aus dem Investitionsprogramm. Dazu kommen drei weitere Quellen: die Realsteuer-Hebesätze seit 1980 samt der Gewerbesteuerstatistik, wenn jemand nach der Zahl der Betriebe fragt; der Ansatz je Steuerart neben dem Rechnungsergebnis; und die lange Ausgabenreihe, die als einzige bis 1972 zurückreicht — für Jahre, zu denen es noch gar keinen Jahresabschluss gibt. Jede Zahl trägt ihre Fundstelle und ihre Grenzen mit: dass eine Investitionssumme über alle Jahre gilt und keine Jahresrate ist, dass die Schulgebäude beim Eigenbetrieb liegen, dass ein Hebesatz kein Aufkommen ist und dass die Ausgaben von vor und nach der Umstellung des Rechnungswesens 2010 nicht zu einer Entwicklung verrechnet werden dürfen. (#951)
- •Kredite und Zinsen: eine neue Schicht aus den Unterrichtungen des Rates. Die Verwaltung berichtet dem Rat nach der Kreditrichtlinie über jede Kreditaufnahme, Umschuldung und Prolongation — seit 2022 monatlich bis vierteljährlich, 2018 als Einzelberichte. Der Bestand liest daraus je Posten Art, Schuldner (Kernverwaltung, Bäderbetrieb, Gebäudewirtschaft), Betrag, Zinssatz, Zinsbindung und das Datum der Kreditentscheidung, je Bericht den Zeitraum und die Zinsersparnis der Umschuldung. Das ist die Grundlage für „Was kosten die Schulden?" auf der Schulden-Seite und in der KI-Frage. (#962)
- •Zu welchem Zins sich die Stadt Geld leiht. Die Schulden-Seite zeigt unter der Zinslast jetzt die jüngsten Kreditaufnahmen mit ihrem Zinssatz (etwa der Bäderbetrieb 2026 zu 3,46 %), das Umschuldungsvolumen des Jahres und die Zinsersparnis, wo die Verwaltung sie beziffert — aus den Unterrichtungen des Rates nach der Kreditrichtlinie, mit Beleg je Vorlage. Die KI-Frage beantwortet dieselben Fragen: „Zu welchem Zinssatz hat die Stadt zuletzt einen Kredit aufgenommen?" bekommt die Vorgänge samt Bedingungen, mit dem Hinweis, dass Bank und Marge je Darlehen in den Anlagen stehen und nicht im Bestand. (#964)
- •Das Haushalts-Labor sagt jetzt, wie viel im echten Verfahren bewegt wurde. Wer dort an den Reglern zieht, bekommt Millionenbeträge zu sehen — ohne Maßstab liest sich dieselbe Zahl wahlweise als Kleinigkeit oder als Umsturz. Unter den Werkbänken steht deshalb die Strecke, die der Haushalt wirklich zurückgelegt hat: Für 2026 stand der Entwurf der Verwaltung bei −89,3 Mio. €, beschlossen wurden −68,7 Mio. € — das Verfahren bewegte also 20,6 Mio. €. Davon kamen 20,3 aus den drei Änderungslisten der Verwaltung und 218.299 € aus der Liste der Koalition. Dass die Verwaltung dabei ein Vielfaches bewegt, steht ausdrücklich als das da, was es ist: kein Maß für politische Durchsetzung, sondern der Unterschied zwischen zwei Arten von Liste. Die Verwaltung schreibt mit ihren Listen den eigenen Entwurf fort — neue Steuerschätzung, Tarifabschluss, geänderte Umlagen. Die Fraktionen ändern einzelne Posten, die sie politisch anders wollen. Für Jahrgänge ohne Beschluss-Datei des Finanzausschusses endet die Strecke beim letzten Stand der Verwaltung, und die Karte nennt ihn auch so. (#845)
- •Der Liquiditätsstand als Schicht: wie viel Geld die Stadt am Monatsende auf dem Konto hat. Die Verwaltung legt dem Finanzausschuss monatlich eine Grafik vor; ihre Zahlen stecken nur im PDF der Anlage. Der Bestand liest daraus die Monatsreihe (bisher 2022 bis Mai 2026, ältere Grafiken folgen, sobald ihre Anlagen geladen sind), prüft die Wertzahl jeder Grafik und den Abgleich zwischen den überlappenden Jahrgängen, und führt je Monat den jüngsten Beleg. Seite und KI-Frage folgen. (#969)
- •Abstimmungsergebnisse noch am Sitzungsabend. Ratslotse hört jetzt bei der Live-Übertragung der Ratssitzung mit: Der O1-Stream wird während der Sitzung mitgeschnitten und laufend transkribiert; sobald die Sitzungsleitung den öffentlichen Teil schließt, stehen die vorläufigen Ergebnisse in der Tagesordnung — Stunden bevor die Aufzeichnung online geht, ein bis zwei Monate vor dem amtlichen Protokoll. Die Verweise ins Video folgen, sobald die Aufzeichnung verfügbar ist; das Protokoll ersetzt am Ende alles Vorläufige. (#899)
- •Zusammenführen erst, wenn die Prüfungen wirklich durch sind. Bisher war das eine Regel im Handbuch, die jede Sitzung selbst umsetzen musste — einmal wurde dabei zusammengeführt, während die Tests noch liefen. Ein Befehl übernimmt das jetzt und weigert sich, solange auch nur eine Prüfung offen ist. Nur für die Entwicklung; an der Website ändert sich nichts. (#1008)
- •Ratslotse wird auf iPhone und iPad vollständig nativ. Die neue SwiftUI-App bringt Heute, Ratsgespräch und gründliche Recherche, Ratssuche, Themen, Quiz, Push, Kalender und Kontoverwaltung ohne WebView auf iOS; der frühere Capacitor-iOS-Build wurde entfernt. (#825)
- •Der Einrichtungs-Assistent läuft jetzt auch im Browser. Wer sich auf ratslotse.de registrierte, landete bisher unvermittelt auf einem leeren „Heute" und musste selbst herausfinden, dass die Seite von Ausschuss-Abos und eigenen Themen lebt. Den geführten Einstieg gab es längst — er war auf die App beschränkt. Er fragt jetzt in vier Schritten: Gremien, über die Lotti sich meldet; Stadtteile; Themen; Zustellung. Am Rechner steht die Frage links neben ihrer Antwortfläche, am Telefon untereinander. Die Stadtteile sind ein eigener Schritt geworden — mit Karte. Vorher steckten sie als Auswahlliste im Themen-Schritt und gingen dort unter. Jetzt zeigt eine Karte von Oldenburg alle Ortsbereiche; die gewählten leuchten auf, und die Namensliste daneben tut dasselbe für Tastatur und Screenreader. Die Karte kommt ohne Kartendienst aus — sie zeichnet die Umrisse, die ohnehin im Projekt liegen. Gefragt wird nach Interesse, nicht nach der Wohnadresse: „Welche Stadtteile interessieren dich?" — das kann der eigene sein, muss aber nicht, und mehrere sind möglich. Der Themen-Schritt trennt danach „bei dir" von „in der Stadt". Je gewähltem Stadtteil steht zuerst, was der Rat dort verhandelt hat, darunter die stadtweiten Vorschläge — dieselbe Sache steht nie in zwei Listen. Was dort vorgeschlagen wird, ist am echten Ratsbestand geprüft und nachgeschärft: Unter „Osternburg" standen vorher „Sandweg, Ostweg, Danziger Straße" — Adressen aus Bebauungsplänen —, die Cäcilienbrücke dagegen gar nicht. Jetzt entscheiden drei Regeln, was oben steht: Ein anderer Stadtteil ist kein Vorschlag für diesen; stadtweite Programme gehören in die stadtweite Liste; und wo eine Sache geocodiert ist, entscheidet ihr Standort und nicht die bloße Erwähnung. Straßennamen bleiben drin, stehen aber hinter allem anderen. Weil eine Straße jetzt in jeden Stadtteil gehört, durch den sie führt, steht sie auch dort zur Auswahl: Das Ehnernviertel bekommt die Alexanderstraße, Haarentor den Quellenweg und den Pophankenweg, Drielake den Sandweg. Über alle 31 Stadtteile sind das 145 eigene Vorschläge statt 129 — und nur noch 41 statt 57 von nebenan geliehene. 19 Stadtteile schaffen die sechs jetzt aus eigener Kraft (vorher 16), und keiner steht mehr ganz ohne Eigenes da (vorher zwei: Dobbenviertel und Ehnernviertel). Dabei entscheidet nicht die Menge, sondern was auf der Liste steht: Der Zeitraum weitet sich, bis genug Vorschläge dabei sind, die mehr sind als eine Adresse. Sonst gewönne das jüngste Jahr mit einer Liste aus lauter Straßen — in Osternburg hätte die „Cloppenburger Straße" die Amalienbrücke verdrängt. Und es steht überall etwas: In ruhigen Stadtteilen reicht ein Jahr nicht — der Zeitraum weitet sich dann auf zwei oder drei Jahre und wird dazugeschrieben. Wo auch das nicht trägt (im Dobbenviertel hat der Rat in drei Jahren praktisch nichts verhandelt), füllen die nächstgelegenen Stadtteile auf, sichtbar getrennt unter „Direkt nebenan" und jeder Vorschlag mit seiner Herkunft. Am Rechner liegt jeder Schritt als Blatt in der Fenstermitte — Radius, Rahmen, eigene Fußleiste —, nicht mehr als Inhalt, der im Fenster schwebt und dessen Knopf ganz unten klebt: Bei einem kurzen Schritt blieb so ein leeres Drittel des Bildschirms. Ein Blatt ist so hoch wie sein Inhalt; ist der länger als das Fenster, scrollt er im Blatt, und die Fußleiste bleibt. Links neben der Frage steht ein Schritt-Pfad (erledigt · gerade · offen), die Gremien stehen zweispaltig und jedes trägt ein Zeichen für seinen Sachbereich — Kelle für den Bau, Blatt fürs Grün, Bus für den Verkehr —, damit man die Liste nicht lesen muss, um sie zu unterscheiden. Und der letzte Knopf sagt, wozu man ja sagt: „Ja, ich möchte Benachrichtigungen erhalten" statt „Ja, so ist es richtig". Zwei Dinge sind bewusst anders als in der App. Der letzte Schritt fragt im Browser nach der E-Mail statt nach der Push-Erlaubnis — die gibt es dort nicht — und er wirbt dafür, statt bloß zu fragen: Ohne Mitteilung erfährt man nicht, dass das eigene Thema auf einer Tagesordnung steht, und dann müsste man die Seite aufrufen, um zu erfahren, dass es etwas zu erfahren gäbe. Wie viel dabei ankommt, steht als Zahl da statt als Beteuerung. Und wer den Assistenten sieht, entscheidet der Server: Wer angefangen und abgebrochen hat, macht dort weiter, wo er aufgehört hat — auch auf einem anderen Gerät; wer längst Themen oder Abos angelegt hat, wird nicht nachträglich durchgeschickt; und übersprungen bleibt übersprungen. (#902)
- •Nach jedem Deploy prüft der Server sich selbst. Bisher galt ein Deploy als geglückt, sobald die Dienste überhaupt antworteten — eine Abfrage, die nach einer Datenbank-Änderung ins Leere zeigt, wäre dabei nicht aufgefallen, weil der Lebenszeichen-Aufruf die Datenbank gar nicht anfasst. Jetzt werden die öffentlichen Seiten wirklich abgerufen und ihre Antworten gegen die beschriebene Form gehalten. (#984)
- •Vor dem Release lässt sich nachsehen, was die App im Store trifft. Die installierte App wurde gegen den alten Stand gebaut; wird der neue veröffentlicht, liest sie Feldnamen, die es dort nicht mehr gibt. Ein Befehl zeigt jetzt nach Ansicht gruppiert, welche davon nur ein Feld verlieren und welche gar nicht mehr laden. (#986)
- •Der Schlussbericht 2024 des Rechnungsprüfungsamts ist gelesen. Sein PDF kam ohne brauchbare Textebene; jetzt liest ihn das Sehmodell, und der Parser versteht die Randmarken auch in der Form, die dabei entsteht. Auf „Geprüft und zusammengefasst" stehen damit 15 Feststellungen für 2024 — vier Beanstandungen, eine wiederholte, zehn Hinweise — und „Geplant und geworden" 2024 zitiert wieder den passenden Jahrgang. (#928)
- •Auf „Mitreden" steht jetzt auch, an welchen Bauvorhaben geschraubt wurde. Der Haushalt hat zwei Teile, und beide werden im Verfahren geändert: Bisher zeigte die Seite nur den Ergebnishaushalt — was die Stadt erwirtschaftet und verbraucht. Neu darunter der Finanzhaushalt, also das, was tatsächlich fließt und vor allem investiert wird. Dort steht Zeile für Zeile, welches Vorhaben zwischen Entwurf und Beschluss mehr oder weniger Geld bekam, mit seiner Nummer aus dem Investitionsprogramm und der Begründung der Verwaltung — „Sanierungsgebiet Untere Nadorster Straße" etwa verlor 2024 eine Million, weil sich der Straßenbau verzögerte. Ein- und Auszahlungen stehen dabei nebeneinander und nicht gegeneinander: Eine Einzahlung ist ein Zuschuss oder ein Verkauf, eine Auszahlung die Investition selbst. Positionen, die gar keinen Betrag ändern, bleiben draußen — das sind Vermerke im Plan, keine Änderungen. (#853)
- •Abstimmungsergebnisse schon am Tag nach der Ratssitzung. Das amtliche Protokoll braucht ein bis zwei Monate — die Aufzeichnung von oldenburg eins ist am nächsten Tag da. Eine Maschine liest jetzt die Ergebnisse aus dem Sitzungsvideo: In der Tagesordnung steht an jedem abgestimmten Punkt ein vorläufiges Ergebnis mit gestricheltem Rand, samt Zeitstempel, der direkt zur Stelle im Video springt. Übernommen wird nur, was zwei unabhängige Durchläufe übereinstimmend hören und wörtlich belegen können (im Prüfbestand: 111 von 120 Beschlüssen, null Fehler); der Rest wartet aufs Protokoll. Sobald das Protokoll da ist, ersetzt es die vorläufigen Angaben. (#884)
- •Der Haushaltsvollzug beginnt jetzt im März. Zum ersten Quartal legt die Verwaltung keine Anlage vor, sondern schreibt ihre Erwartung direkt in die Vorlage: je Teilhaushalt das Jahresergebnis als Plan, Prognose und Abweichung. Der Bereich liest diese Tabelle (2022, 2024, 2025, 2026) und prüft sie gegen ihre eigene Summenzeile — die früheste Erwartung eines Haushaltsjahres steht damit neben den drei späteren. (#980)
- •Von der geänderten Haushaltszeile zum Bauvorhaben. Die Positionen des Finanzhaushalts auf „Mitreden" tragen die Nummer ihres Vorhabens — die führt jetzt mit einem Klick auf „Was wird gebaut?" und sucht sie dort. Wer also liest, dass beim Sanierungsgebiet Untere Nadorster Straße eine Million verschoben wurde, sieht mit einem Klick, was für dieses Vorhaben insgesamt geplant ist. Damit das ankommt, findet die Suche im Investitionsprogramm jetzt auch Nummern und nicht nur Namen — das hilft auch, wer eine Nummer von Hand eintippt. Der Link heißt bewusst „suchen" und nicht „zum Vorhaben": Die Änderungslisten führen ihre Nummer je Buchungszeile, das Programm je Vorhaben, und rund vier von zehn Zeilen haben dort schlicht kein Gegenstück. Dann sagt die Seite das auch — „Kein Vorhaben 2020 enthält …" — statt eine Verbindung zu behaupten, die es nicht gibt. (#855)
Geändert
- •Der Datenabzug sagt jetzt, wenn die eigene Kopie veraltet ist. Weil sich alle Arbeitskopien einen Zwischenspeicher teilen, konnte eine Tabelle lokal leer aussehen, obwohl längst Daten dafür vorlagen — was leicht wie ein ausgefallener Import wirkt. Betrifft nur die Entwicklung. (#1009)
- •Die Änderungslisten werden jetzt mit dem übrigen Haushalt eingelesen. Ihr Ingest war der einzige der Finanz-Läufe, der nach jedem Parser-Merge von Hand angestoßen werden musste — vergaß man ihn, zeigte die Seite neuen Code auf altem Bestand, und das ist der unangenehmere Fall als eine leere Tabelle: Sie bleibt nicht leer, sie wird falsch. Der Ops-Lauf ruft ihn jetzt mit auf und zieht sich die dafür nötige PDF-Bibliothek bei Bedarf selbst nach. Sein Bestandsbericht zählt die beiden Änderungs-Tabellen mit und nennt, für welche Jahrgänge ein Urheber je Position vorliegt — bliebe der weg, würde die Zeilenzahl allein es nicht verraten. (#839)
- •Die API beschreibt jetzt, was sie zurückgibt. Bisher lieferten fast alle Endpunkte „irgendein Objekt" — im maschinenlesbaren Schema stand kein einziges Feld. Damit konnte niemand Typen daraus ableiten, und eine Änderung an der Schnittstelle war in keinem Diff zu sehen. Die Antwortformen stehen jetzt an einer Stelle beisammen, das Schema liegt versioniert im Repo, und ein Test verhindert, dass ein neuer Endpunkt wieder ohne Form durchrutscht. Für Leser*innen der Seite ändert sich nichts — der Nutzen liegt darin, dass Web-Version und App künftig aus derselben Quelle arbeiten. (#837)
- •Die Feldnamen der Schnittstelle heißen englisch. Die Wochenvorschau liefert ihre Woche jetzt als
from_date/to_datemitsessionsunditems, das Kontingent der Gründlichen Recherche alsremaining, die Admin-Statistik alsquestions_active/reported/weak_categories. An der Oberfläche ändert sich nichts — die Karte „Die Woche im Rat", das Admin-Panel und die App zeigen dasselbe wie vorher. (#911) - •Die Schnittstelle der „Frag den Rat"-Gespräche spricht jetzt Englisch. Die Felder hießen bisher gemischt deutsch und englisch; Weboberfläche und App mussten die deutschen Namen jeweils selbst übersetzen. Sie heißen jetzt einheitlich englisch, damit beide ihre Datentypen unverändert aus dem Schnittstellen-Vertrag erzeugen können. Sichtbar ändert sich nichts. (#852)
- •Die Haushalts-Schnittstelle spricht durchgehend Englisch. Die 25 Blöcke, aus denen der Haushalts-Bereich seine Daten holt, hießen noch deutsch — jetzt tragen sie dieselben Namen wie der Rest der Schnittstelle. Sichtbar ändert sich nichts; alle fünfzehn Seiten zeigen weiter dieselben Zahlen. (#876)
- •Die Adressen der Schnittstelle sind englisch.
/api/council/haushalt/ schuldenheißt jetzt/api/council/budget/debt,/api/council/gespraecheheißt/api/council/conversationsund so weiter — 36 Pfade. Damit ist die erzeugte OpenAPI-Dokumentation durchgehend englisch. Die Adressen der Website bleiben deutsch:ratslotse.de/haushalt/schuldenändert sich nicht, geteilte Links funktionieren weiter. (#915) - •Jede Serverantwort beschreibt jetzt ihre Form. Die letzten vierzehn Endpunkte — Ortskatalog, Wochenvorschau, Haushalts-Fundament, Sitzung, Beschluss, geteilte Antwort, Recherche-Stand, öffentliche Kennzahlen, Thema, Person, Wortbeiträge und drei Ansichten im Admin-Bereich — standen im Schema noch als „irgendein Objekt". Damit ist die Schnittstelle vollständig beschrieben: Alle 162 Aufrufe tragen ihre Felder, Weboberfläche und App leiten ihre Datentypen daraus ab, und eine Änderung daran ist ab sofort im Diff zu sehen. Die drei Endpunkte, die gar kein JSON liefern — die beiden Ereignis-Ströme der KI-Frage und der tiefen Recherche sowie die gerenderte Planzeichnung — nennen jetzt ihren echten Medientyp samt der Ereignisse, die über die Leitung gehen, statt ein JSON-Objekt vorzutäuschen. Für Leser*innen der Seite ändert sich nichts. (#916)
- •Auch der Frage- und Recherche-Pfad der Schnittstelle spricht jetzt Englisch. Zweiter Schritt der Umstellung: Die Felder, mit denen die Oberfläche eine Frage stellt und den Antwortstrom liest, hießen noch deutsch. Sichtbar ändert sich nichts — der Nutzen ist, dass Web-Version und App ihre Datentypen unverändert aus dem Schnittstellen-Vertrag erzeugen. (#854)
- •Die Typen der Weboberfläche kommen jetzt aus dem API-Vertrag, statt von Hand gepflegt zu werden. Bisher stand neben jeder Serverantwort eine zweite, abgetippte Beschreibung im Frontend — die veraltete still, sobald sich hinten etwas änderte, und in jeder Oberfläche einzeln. Jetzt werden sie aus dem Schema erzeugt; ein umbenanntes Feld bricht sofort den Build statt später die Anzeige. Sichtbar ändert sich nichts — der Nutzen ist, dass Web-Version und App aus derselben Quelle arbeiten und seltener auseinanderlaufen. (#840)
- •Das Beleg-Format steht jetzt vollständig in der Schnittstellen-Beschreibung. Unter jeder Haushaltszahl hängt ihr Beleg: welches Dokument, welche Seite, welche Rechenprobe, welcher Ratsbeschluss dahinter. Diese Angabe reisten bisher als unbeschriebenes Objekt durch die Schnittstelle — Website und App mussten ihre Felder von Hand nachbauen, und wer eines übersah, zeigte es schlicht nicht an. Jetzt beschreibt die Schnittstelle es selbst, und beide Seiten lesen dieselbe Wahrheit. (#952)
- •Beschluss-Ergebnisse heißen intern jetzt englisch. Angenommen, abgelehnt, vertagt, zur Kenntnis, einstimmig, mehrheitlich — gespeichert werden diese Ergebnisse ab sofort als
accepted,rejected,postponed,noted,no_decision,unanimousundmajority. Auf der Seite, in der App und in jeder Meldung steht weiter das deutsche Wort; nur der Ergebnis-Filter in der Adresszeile (?outcome=…) trägt den neuen Namen. (#888) - •Die neunzehn Bilanz-Positionen heißen intern jetzt englisch. Sachvermögen, Finanzvermögen, Nettoposition, Rückstellungen und die übrigen werden als
tangible_assets,financial_assets,net_position,provisionsund so weiter gespeichert. Auf der Schulden-Seite und in der KI-Antwort steht weiter der deutsche Wortlaut — und der Wortlaut des Jahresabschlusses selbst sowieso. (#905) - •Die Browsertests laufen wieder — und prüfen ab jetzt jede Änderung. Sie waren zur Hälfte rot, weil sie eine Oberfläche erwarteten, die es so nicht mehr gibt; eine rote Prüfung sieht niemand mehr an. Alle 36 sind überarbeitet und grün, und sie laufen jetzt automatisch mit. (#1025)
- •Die letzte deutsche Spalte der Datenbank heißt jetzt englisch.
art— in zehn Tabellen, von den Steuerarten über die Vorlagen bis zu den Wortbeiträgen — heißtkind. Sichtbar ändert sich nichts: Die Seiten zeigen weiter „Beschlussvorlage", „Rede" und „Gewerbesteuer". (#886) - •Die Beschluss-Daten heißen jetzt durchgehend englisch — in der Datenbank wie in der Schnittstelle. Der amtliche Wortlaut, die Gegenstimmen, die Enthaltungen, die Abweichung und die Vorlagennummer trugen bisher deutsche Namen; Weboberfläche und App übersetzten sie jede für sich zurück. Jetzt tragen Spalte, Schnittstelle und beide Oberflächen denselben Namen. Sichtbar ändert sich nichts. (#857)
- •Einheit, Gremium, Grund und Fassung heißen in der Datenbank jetzt englisch. Vierzehn Spalten in ebenso vielen Tabellen ziehen damit nach. Für Leser*innen ändert sich nichts. (#878)
- •Die Konten-Datenbank heißt jetzt nach dem Projekt, nicht mehr nach der Zeitung.
nwz.sqlitewar ein Rest aus der Zeit, als hier ein Zeitungs-Scraper lief; sie heißt jetztratslotse.sqliteund zieht beim ersten Start selbst um. Die Spalten der gespeicherten Gespräche heißen englisch wie die Schnittstelle, und drei tote Spalten aus der alten Abo-Prüfung sind samt Inhalt entfernt. Sichtbar ändert sich nichts. (#856) - •33 weitere Datenbank-Spalten heißen jetzt englisch. Gebühren, Hebesätze, Wirtschaftspläne, Änderungslisten und die Beteiligungen tragen ihre Namen damit in derselben Sprache wie der Rest. Sichtbar ändert sich nichts — die Zahlen und Seiten bleiben, wie sie waren. (#873)
- •Die Geldbegriffe des Haushalts heißen jetzt überall gleich — auf Englisch. Betrag, Erträge, Aufwendungen, Ein- und Auszahlungen, Vorjahr, Saldo und Ergebnis trugen bisher deutsche Namen in der Datenbank, in der Schnittstelle und in beiden Oberflächen. Das ist umgestellt: 82 Spalten in 33 Tabellen wandern beim ersten Start mit, die App und die Website sprechen dieselben Namen. Für Leser*innen ändert sich nichts — die Seiten zeigen weiter Deutsch. (#861)
- •Vier weitere Spalten der Datenbank heißen englisch. Stellenplan, Nachbewilligungen, Gesellschaften und Städtevergleich ziehen damit nach. Sichtbar ändert sich nichts — auf den Seiten steht weiter „besetzt", „beschlossen" und der Name der Stadt. (#875)
- •Die Jahresangabe heißt in der ganzen Datenbank jetzt einheitlich englisch. Sie steckte in 41 Tabellen unter deutschem Namen und wanderte von dort bis in die Haushaltsseiten. Damit ist der letzte große gemischtsprachige Begriff aus den Finanzdaten verschwunden. Sichtbar ändert sich nichts. (#860)
- •Zehn weitere Spalten heißen englisch. Die aktuelle Fraktion einer Person, die Träger des Gesamtabschlusses, die Funktion in einem Gremium, die Reihe des Städtevergleichs, das Regelwerk der Investitionsreihe und die Zweitstelle einer Spende. Zwei Fachbegriffe bleiben bewusst deutsch: „kameral" und „doppik" — für sie gibt es keine treffende englische Entsprechung, und der Parser schlägt über sie nach. (#869)
- •Weitere 52 Datenbankspalten heißen jetzt englisch. Abgänge, Zugänge, Buchwerte des Anlagenspiegels, Bezugsgrößen der Gebühren, Messbeträge der Gewerbesteuer, Zuweisungen des Finanzausgleichs und die Kennzeichen des Stellenplans. Sie wandern beim ersten Start mit; für Leser*innen ändert sich nichts. (#867)
- •Fünfzehn weitere Spalten und drei Werte-Listen der Datenbank sind englisch. Bürgschaften, Stellenplan, Wortbeiträge, Kennzahlen und die Änderungslisten ziehen nach. Sichtbar ändert sich nichts — die Seiten zeigen weiter dieselben Zahlen und dieselben deutschen Beschriftungen. (#877)
- •Rolle und Kanal heißen jetzt englisch — samt ihrer Werte. Die Posten der Bilanz, der Finanzrechnung und des Gesamtabschlusses tragen ihre Rolle in der Zeile, ebenso die Wege einer Nachbewilligung. Spalte und Werte wandern beim ersten Start gemeinsam mit; die Rollennamen aus dem Ratsinformationssystem („Ratsmitglied") bleiben deutsch, weil sie Anzeigetext sind. (#868)
- •Geteilte Antworten und Recherche-Aufträge heißen intern jetzt englisch. Dritter Schritt des Umbaus: Die Felder der Teilen-Seite und der Gründlichen Recherche trugen noch deutsche Namen — in der Datenbank wie in der Schnittstelle. Beide sprechen jetzt dieselbe Sprache wie der Rest. Sichtbar ändert sich nichts. (#858)
- •Auch die Struktur- und Belegbegriffe des Haushalts heißen jetzt englisch. Bezeichnung, Bereich, Jahrgang, Teilhaushalt, Produkt, Fundstelle, Marke und rund vierzig weitere Spalten wandern beim ersten Start mit — 119 Spalten in 42 Tabellen. Die Adressen der Seiten bleiben unverändert, und für Leser*innen ändert sich nichts. Behoben: Drei Stellen im Haushalt trugen einen umbenannten Begriff auch als Wert in der Zeile — die Finanzrechnung, der Gesamtabschluss und ein Herkunftsbeleg. Nach der letzten Umstellung fanden Abfragen darauf nichts mehr; die Werte wandern jetzt mit. (#862)
- •Titel, Datum, Frage und Partei heißen in der Datenbank jetzt englisch. Vierzehn Spalten in neun Tabellen ziehen nach — Presse, Beratungen, Wortbeiträge, Stellenplan und die Herkunfts-Belege. Für Leser*innen ändert sich nichts. (#880)
- •Wert, Quelle und Schlüssel heißen in der Datenbank jetzt englisch. Elf Spalten in ebenso vielen Tabellen ziehen nach. Für Leser*innen ändert sich nichts. (#879)
- •Auch die Kennwörter der Änderungslisten und Haushaltsrechnungen sind jetzt englisch. Welche Liste eine Position vorschlug und worauf sich „geplant" bezieht, stand intern auf Deutsch. Sichtbar ändert sich nichts — die Seiten zeigen weiter „Änderungsliste Verw. I" und „Haushaltsansatz". (#882)
- •Drei weitere Wertelisten heißen intern jetzt englisch. Die Art eines Themas (Ort, Projekt, Organisation), die Gebietsarten des Ortskatalogs (Quartier, Wohngebiet, Schutzgebiet …) und die fünf Abschnitte des Beteiligungsberichts. Auf der Seite und in der App steht weiter das deutsche Wort. (#900)
- •Der Ratslotse duzt jetzt überall. An fünf Stellen stand noch „Sie" — im Zeitstrahl („Sie sind hier") und in der Überschrift „Was Sie dafür zahlen". Sie lauten jetzt wie der Rest der Seite: „Du bist hier", „Was du dafür zahlst". (#864)
- •Die KI-Frage kennt bei den Eigenbetrieben jetzt auch das Ist. Wer nach dem Wirtschaftsplan eines Betriebs fragt, bekommt neben dem Plan den geprüften Jahresabschluss desselben Jahres — Umsatzerlöse, Jahresergebnis, Bilanzsumme, Eigenkapital — oder den jüngsten davor mit dem Vermerk, dass der des Planjahrs noch fehlt. (#988)
- •Die Namen der LLM-Aufrufe heißen intern jetzt englisch. Das Kosten-Tracking zählt je Aufruf-Art, wie viel ein Feature verbraucht —
wortbeitraegeheißt jetztspeeches,anlagen_ocrheißtattachment_ocrund so weiter. Im Admin-Panel steht weiter der deutsche Name, und zwar zu jedem Aufruf: Die Beschriftungsliste war bisher unvollständig, sodass zwei Drittel der Kostentreiber mit ihrem rohen Schlüssel dastanden. (#907) - •Sechs Einzelstellen im Haushalt sind aufgeräumt. Der Gewerbesteuer-Steckbrief verspricht nichts mehr („bauen wir noch“) und zeigt die abgelehnte Erhöhung nur als Balken, wenn die Vorschlagszahl vorliegt; das geplante Minus auf der Startseite sagt dazu, dass die Rücklage es deckt; die Produktebene erklärt, was in „Rechnungswesen“ verbucht wird; ein Wirtschaftsplan, der jedes Jahr dieselbe Null nennt, bekommt keine Kurve; und die Bereichsseite ohne Bereich zeigt die dreizehn Bereiche zur Wahl statt einer Sackgasse. (#1007)
- •Die langen Haushaltsseiten werden kürzer, ohne etwas zu verlieren. Der Wortlaut der Verwaltung zu Plan-Ist-Abweichungen steht auf der ganzen Seite hinter „Warum?“, der fünf Absätze lange Bilanz-Text zum Cash-Pooling und die Herleitungen auf dem Gewerbesteuer-Steckbrief und der Vergleichsseite hinter einem Auslöser. Die Haushaltsdebatte ist eine Liste statt eines Zickzacks, mit dem Fraktionspunkt am Namen; „Ganzen Beitrag lesen“ zählt keine Zeichen mehr. Zwei Erklärkästen der Startseite sind auf zwei Sätze gekürzt. (#1005)
- •Auf dem Handy zeigen Chip-Reihen und Umschalter jetzt, dass sie weitergehen. Abschnitts-Chips, Jahr-Umschalter und Reihenfolge-Schalter im Haushalt blenden am verdeckten Ende aus, statt hart abgeschnitten zu stehen; der aktive Abschnitts-Chip springt beim Zurückscrollen wieder auf den ersten Abschnitt. Überschriften trennen keine kurzen Wörter mehr, die Skalenbeschriftung der Plan-Ist-Hantel bleibt in der Karte, und die acht Jahreschips der Prüfungs-Ketten passen in eine Zeile. (#1003)
- •Der Haushalt wiederholt sich weniger und beweist sich nicht mehr selbst. Sätze, die auf jeder Karte oder Zeile standen, stehen einmal: über den Gesellschaftskarten (die tragen jetzt ihre eigene Entwicklung), unter der Personal-Grafik (die Zeile nennt nur noch die Ausnahme), in der Hebesatz-Liste. Rundungs- und Abgleichsätze, die dem Leser versicherten, dass unsere Zahlen stimmen, sind weg oder auf einen Satz gekürzt. Die Steuer-Kacheln auf der Produktebene sind eine Zeile mit Links zu den Steckbriefen, der Konzern-Schritt stellt seine Frage nicht zweimal, und der Grenzen-Block der Investitionen sieht aus wie auf den anderen Schritten. (#1004)
- •Alle Umgebungen laufen jetzt mit denselben Programmbibliotheken. Bisher zog jede Installation die jeweils neueste Fassung — die Testumgebung prüfte damit gegen etwas anderes, als die Seite tatsächlich benutzt, und eine Aktualisierung konnte unbemerkt mit einer Veröffentlichung mitfahren. Die Fassungen sind jetzt festgehalten und werden nur noch bewusst angehoben. (#989)
- •Auch die Fragetypen der KI-Frage heißen jetzt englisch. Ob eine Frage nach Geld, nach einem Verlauf oder nach einer Fraktion fragt, entscheidet das Analyse-Modell — die Kennwörter dafür lauteten bisher deutsch. Sichtbar ändert sich nichts; die Oberfläche zeigt weiter dieselben Bausteine. (#872)
- •Neue Haushaltsdokumente werden von allein eingelesen. Der Datenstand-Cron hat vier Schichten aus dem Ratsinformationssystem bisher nur beobachtet und gemeldet, wenn ein Jahrgang ausblieb — Haushaltsvollzug, Haushaltssatzung, Gebührenbedarf und Wirtschaftspläne kamen erst, wenn jemand das Skript von Hand startete. Jetzt merkt sich der Cron je Schicht, welches Dokument ihr Skript zuletzt gesehen hat, und ruft es, sobald ein jüngeres im Bestand liegt. Ein gescheiterter Lauf wird gemeldet und beim nächsten Mal wiederholt. (#968)
- •Die Grafiken des Haushalts bekommen eine gemeinsame Ablesekarte und Bewegung. Unter jeder Grafik steht die Auskunft jetzt als Karte mit Farbmarke, Name und großer Zahl statt als grauer Hinweiszeile. Die Zeitreihen zeichnen sich beim Aufbau einmal von links nach rechts, die Führungslinie gleitet unter dem Zeiger zur gewählten Stelle, der Endwert trägt seine Einheit. Auf der Hebesatz-Treppe sind die Änderungen als Punkte markiert, und die Liste darunter zeigt mit: Wer auf eine Zeile zeigt, sieht die Stufe im Bild, wer auf die Stufe zeigt, die Zeile. (#1014)
- •Hantel und Gegenbalken bewegen sich und antworten dem Zeiger. In der Hantel wachsen die Abweichungsstrecken beim Aufbau aus der Null heraus, beim Umschalten zwischen Prozent und Betrag gleiten die Punkte, die Zeile unter dem Zeiger hebt sich und die Abweichung steht größer als Plan und Ist. Bereichsnamen werden nicht mehr abgeschnitten. Im Gegenbalken wachsen die Segmente beim Aufbau von links nacheinander; Segment und Legendeneintrag heben sich gemeinsam hervor, in beide Richtungen, und breite Segmente setzen ihren Text größer. (#1015)
- •Säulen und Ranglisten bewegen sich und antworten dem Zeiger. Die Jahres-Säulen der Übersicht wachsen beim Aufbau von unten, links nach rechts; unter dem Zeiger hebt sich eine Säule mit ihrem Jahr, die übrigen treten zurück, der Endwert trägt seine Einheit. In den Ranglisten wachsen die Balken beim Aufbau von links, die Zeile unter dem Zeiger hebt sich, die Werte stehen in Tabellenziffern statt Mono, und die Oldenburg-Zeile trägt eine Marke. (#1016)
- •Die Haushalts-Schnittstelle spricht Englisch. Die siebzehn Haushalts-Endpunkte liefern ihre Felder jetzt unter englischen Namen aus (
zeilen→rows,summen→totals,staedte→citiesund rund sechzig weitere); die Beschriftungen auf den Seiten ändern sich dabei nirgends. Dabei ist außerdem aufgefallen, dass die Trägeraufstellung auf „Und ist das die ganze Stadt?" seit der Datenbank-Umbenennung leer blieb — sie steht wieder. (#910) - •Die Fraktions-Positionen stehen in der App jetzt offen da, nicht mehr hinter einem Deckel. Was die Fraktionen zu einer Frage gesagt haben, verdichtet Ratslotse zu einer Position je Fraktion samt Kernaussage und Zahl der Beiträge — in der App lag das hinter einer zugeklappten Zeile, die nicht verriet, was dahinter steckt. Sie ist jetzt aufgeklappt und nennt die Zahl der Fraktionen. Die Sprecher-Zeilen der Ratsdebatten tragen dieselben Parteichips wie der Rest der App; Stimmen der Verwaltung bleiben ohne Chip. Auf dem Dashboard entfällt die Karte „Heute im Rat", wenn die Wochenvorschau darunter denselben Termin ohnehin schon führt — ohne Vorschau bleibt sie als einzige Auskunft stehen. Und die Ratswoche schreibt „Heute" und „Morgen" statt „Dienstag" und „Mittwoch", solange die Tage das hergeben. (#903)
- •Die App zeichnet jetzt durchgehend mit derselben Bildsprache wie die Website. Bisher mischten sich Apples SF Symbols unter die Lucide-Icons der Web-App — an 240 Stellen, in 123 verschiedenen Zeichen. Sie sahen daneben fremd aus, weil sie eine andere Strichstärke und andere Rundungen haben. Alle sind ersetzt; die Vektoren stammen aus demselben Lucide-Satz, den auch die Website benutzt, und liegen als Assets in der App, damit sie ohne Netz und ohne Laufzeit-Abhängigkeit rendern. Eine Ausnahme bleibt bewusst stehen: das Apple-Zeichen bei „Mit Apple verknüpft" — Apples Richtlinien verlangen dort ihre eigene Marke. Ein Test in der CI hält den Zustand, damit sich kein SF Symbol zurückschleicht. (#903)
- •Die Kachelfläche des Haushalts liest sich jetzt wie eine Grafik, nicht wie ein Raster. Große Posten tragen ihre Zahl groß, jede Kachel mit Platz nennt ihre Einheit und ihren Anteil, unter dem Zeiger hebt sich die Kachel und die übrigen treten zurück, beim Aufbau blenden die Kacheln der Größe nach ein. Der Sammelposten der kleinen Ertragsarten klappt auf Antippen als Mappe auf und zeigt die gebündelten Posten als eigene Kacheln; die Zeile unter dem Bild ist eine Karte mit Farbmarke, Summe und Anteilsbalken und trägt ohne aktive Kachel die Gesamtsumme. (#1011)
- •Die Tagesordnungs-Mail sagt jetzt auch, worum es geht. Sie trug bisher den Satz, der allein aus der Überschrift eines Punktes gebaut war — der bessere, aus Vorlage und Anlagen geschriebene, entstand erst am nächsten Morgen und kam für die Mail immer zu spät. Jetzt wird er geschrieben, sobald die Tagesordnung erscheint: „Geplant ist ein Wohngebiet auf 8,6 Hektar nördlich Eßkamp mit 110 Wohneinheiten" statt „Der Ausschuss berät über den Bebauungsplan 837". Und ein Dringlichkeitsantrag heißt in der Mail, was er ist, statt eine Nummer zu tragen, die es im Ratsinformationssystem nicht gibt. (#850)
- •Die Tagesordnung sagt jetzt, worum es geht — und zeigt Dringlichkeitsanträge. Unter jedem Tagesordnungspunkt stand bisher ein Satz, der allein aus der Überschrift gebaut war und sie deshalb meist nur umformulierte. Jetzt steht dort der Satz, der aus der ganzen Vorlage samt Anlagen entsteht: „Geplant ist ein Wohngebiet auf 8,6 Hektar nördlich Eßkamp mit 110 Wohneinheiten" statt „Der Ausschuss berät über den Bebauungsplan 837". Er wird für jeden inhaltlichen Punkt der nächsten drei Wochen geschrieben, nicht mehr nur für die zwanzig wichtigsten, und steht auch in der Merkliste und hinter der KI-Frage. Und Dringlichkeitsanträge stehen jetzt über der Tagesordnung statt in ihr versteckt: Im Ratsinformationssystem haben sie keinen eigenen Punkt, sondern hängen als Dokument an „Genehmigung der Tagesordnung" — in 30 % der Ratssitzungen war so ein Antrag da, ohne dass man ihn finden konnte. (#843)
- •„Bäder" reicht jetzt als Wort. Die KI-Frage fand den Bäderbetrieb und die Bäderbetriebsgesellschaft bisher nur, wenn jemand sie beim vollen Namen nannte; „Wie hoch ist der Zuschuss der Stadt für die Bäder?" bekam nur den Teilhaushalt. Außerdem teilen sich die neun neuen Haushalts-Quellen ihre Formatierer und die Beleg-Zeile, statt je eine eigene Kopie zu führen. (#959)
- •Die KI-Frage liefert Haushaltszahlen für das Jahr, nach dem gefragt wurde. „Was stand 2022 im Haushalt für die Feuerwehr?" bekam bisher den Plan des jüngsten Jahres, ohne es zu sagen. Jetzt nimmt jede der zwanzig Haushalts-Quellen das Jahr aus der Frage, wenn sie es führt — Plan, Jahresabschluss, Produktebene, Stellenplan, Prüfbericht, Schulden, Bilanz und die anderen. Fehlt der Jahrgang, kommt weiter der jüngste, und die Antwort sagt ausdrücklich dazu, dass es nicht das gefragte Jahr ist. „Seit 2020" oder „von 2019 bis 2024" bleiben Zeiträume und legen kein Jahr fest. (#946)
- •Die KI-Frage kennt jetzt die einzelnen Posten des Jahresabschlusses und des Haushaltsansatzes. „Was kostet das Personal der Stadt?" bekam bisher nur Summen und den Teilhaushalt — nicht die Personalaufwendungen, obwohl sie in beiden Quellen stehen. Jetzt liefert der Jahresabschluss die Posten, die die Frage trifft (Personal, Zinsen, Transferaufwendungen, Abschreibungen …), dazu immer das ordentliche und das außerordentliche Ergebnis; der Haushaltsansatz kommt bei einem Treffer im Fragewortlaut auch dann, wenn ein Teilhaushalt schon passt. „Wie war das Jahresergebnis 2024?" zieht den Abschluss — bisher zog die Frage gar nichts. (#953)
- •Die KI-Frage antwortet bei Haushaltsfragen genauer. Nachgemessen an echten Antworten: „Was kostet das Personal?" bekam vier Produkte und keine Personalaufwendungen — jetzt stehen die Posten, die die Frage trifft, vorn im Kontext, mit dem Ansatz und dem zuletzt abgerechneten Ist daneben. „Was stand 2022 im Haushalt für die Feuerwehr?" fand keinen Teilhaushalt, weil die Feuerwehr dort „Sicherheit und Ordnung" heißt — die Zuordnung kennt jetzt Feuerwehr, Rettungsdienst, Kita, Asyl und Pflege, und die Produktebene wird bei der Plan-Frage nach einer Aufgabe mitgefragt. Der Platz für Haushaltszahlen im Antwort-Kontext ist mit den neun neuen Quellen von 4.500 auf 6.500 Zeichen gewachsen, damit bei Bau- und Steuerfragen nicht das Ist zum Plan herausfällt. (#957)
- •Die Kredit-Unterrichtungen ziehen sich jetzt selbst nach. Der Datenstand auf der Haushaltsseite führt die Kreditaufnahmen und Umschuldungen als eigene Schicht, und der zweiwöchentliche Datenstand-Lauf liest eine neue Unterrichtung des Rates ein, sobald sie im Ratsinformationssystem liegt — bisher musste jemand daran denken. (#971)
- •Die Kurzfassungen werden genauer — und ein Ausfall bleibt nicht mehr still. Die Tragweite-Gründe und TOP-Kurzfassungen laufen jetzt auf
gpt-5.6-luna(vorher DeepSeek v4 Pro bzw. zwei Jahre altes gpt-4o-mini) — im Vergleich an 55 echten Tagesordnungspunkten das einzige Modell, das Beträge, Flächen und Ortsnamen durchgängig behält, bei einem Viertel der Kosten. Alle drei betroffenen Modelle sind perCOUNCIL_*_MODELtauschbar. Der Tragweite-Prompt sagt dem Modell außerdem, dass Vereinfachung nie verschärfen darf: Aus einer Genehmigungspflicht wird kein „Verbot" mehr (Leserfeedback zur Zweckentfremdungssatzung, 27.08.). Und Bewertungs-Batches verschwinden nicht mehr still: Scheitert ein Aufruf oder lässt das Modell Einträge aus, wird in Hälften bzw. je Punkt nachgefasst und erst nach zwei Ebenen laut aufgegeben. (#816) - •Die letzten 18 deutschen Feldnamen der Schnittstelle heißen jetzt englisch. Mit dem vollständigen API-Vertrag wurden sie erst sichtbar:
vorlage,beratungsfolge,plan_bildundhaushalts_anschlussder Beschluss-Seite,typ,artund diewortbeitraege-Felder der Personen-Seite,aenderungender Sitzung, der Beleg-Apparatherkunftin elf Haushalts-Antworten, dazuwahlbereiche,gesamt,topundrecherche. Web und App lesen die neuen Namen; der Ortskatalog liefertelectoral_districtsjetzt so, wie das Web-Frontend es schon immer erwartet hatte — der Wahlbereichs-Filter über den Ortskatalog lief bis dahin ins Leere. Ausgelassen istortsbereich_id: Das ist zugleich eine Datenbankspalte und braucht einen eigenen Umzug. (#919) - •Die Verständigung mit dem Sprachmodell läuft jetzt auf Englisch. Die Schlüssel, die das Modell in seiner Antwort setzen soll — Frage, Suchbegriffe, Fragetyp, Belege, Treffer — heißen wie der übrige Code. Für Leser*innen ändert sich nichts; die Prompts selbst bleiben auf Deutsch, denn das Modell liest deutsche Dokumente. (#871)
- •Lotti ist jetzt überall animiert. Das gezeichnete Standbild-Maskottchen ist durch die bewegte Lotti aus dem Lotti-Studio ersetzt: Sie blinzelt, nickt, winkt, denkt beim Laden nach, sucht auf der 404-Seite, schläft in der Sitzungspause und klatscht Beifall im Quiz — und respektiert dabei die Systemeinstellung „Bewegung reduzieren". Wie gehabt kleidet sie sich nach Jahreszeit: Blume im Frühling, Sonnenbrille im Sommer, Schal im Herbst, Ohrenschützer im Winter, roter Schal zur Weihnachtszeit. Auch die 3D-Familie auf der Startseite ist auf den neuesten Stand der Figur gebracht — mit echtem Skelett, Hals, feinerem Gesicht und reparierten Brillenbügeln. (#836)
- •Die Themen-Mail nennt Gremium und Sitzungsdatum. Unter dem Beschlusstitel steht jetzt, wer wann entschieden hat — „Schulausschuss · 11. Juni 2026". Vorher trug die Meldung nur den Titel, und amtliche Titel führen dabei sogar in die Irre: Sie enthalten oft das Datum der Anfrage, die zum Beschluss führte, nicht das der Sitzung. Das Jahr steht bewusst dabei, weil die Mail über ein halbes Jahr zurückreichen kann. (#834)
- •Die Tagesordnungs-Mail sagt jetzt zuerst, worum es geht. Über der Liste stehen die höchstens drei wichtigsten Punkte der Sitzung — dieselbe Bewertung, nach der auch die Wochen-Karte hervorhebt. Darunter folgt die Tagesordnung weiterhin vollständig, mit einer ehrlichen Zahl daneben. Eine Tagesordnung aus lauter Routine bekommt keine Hervorhebung, sondern die Liste wie bisher. (#1028)
- •Ortsarten und die Haushalts-Wertelisten heißen intern jetzt englisch. Straße, Platz, Gebäude, Gewässer, Gebiet und Sonstiges werden als
street,square,building,water,areaundothergespeichert, dazu die Ebenen des Investitionsprogramms, der Entwurfs-Vermerk der Haushaltssatzung, das Spenden-Layout und die Kategorie der Nachbewilligungen. Auf der Seite ändert sich nichts. Nebenbei behoben: Die Ortserkennung verlangte vom Modell noch den alten Wert „stadtteil" — jeder erkannte Ortsteil landete deshalb still unter „Sonstiges". (#889) - •Der letzte deutsche Bezeichner der Schnittstelle ist englisch. Der Ortsbereich eines Ortes heißt jetzt
local_area_id— in der Datenbank, in gespeicherten Gesprächen und in der Antwort der Schnittstelle. Damit trägt die OpenAPI-Dokumentation keinen einzigen deutschen Pfad-, Parameter-, Schema- oder Feldnamen mehr. Für Leser*innen ändert sich nichts. (#920) - •Die Personen-Arten und die Rollen der Haushaltsdebatte heißen intern jetzt englisch. Ratsmitglied, beratendes Mitglied, Verwaltung, Stadt und Aufsichtsorgan werden als
council,advisory,administration,cityundparticipationgeliefert, die Sitzungsleitung alsleadership. Angezeigt wird weiter das deutsche Wort. (#893) - •Die 97 Rechenproben heißen intern jetzt englisch. Jede Zahl im Haushalts- Teil trägt die Proben, die sie bestanden hat — sie stehen jetzt als
business_plan_key_figure,income_budget_total_rows,prior_year_chainund so weiter in der Datenbank. Für Leser*innen ändert sich nichts: Der Beleg-Apparat zeigt weiter denselben deutschen Satz unter jeder Zahl. Nebenbei behoben: Auf der Konzern-Seite stand unter allen sieben Wirtschaftsplänen nur noch das allgemeine „geprüft" statt der genauen Beleglage, und der Hinweis „Ein ausgeglichener Plan" bei einem geplanten Ergebnis von null war ganz verschwunden. (#907) - •Auch die Namen der Prompt-Vorlagen heißen jetzt englisch. Jede Vorlage in
kern/prompts.pyträgt einen Namen, unter dem der Code sie abruft — bisher gemischt deutsch (qa_antwort,top_wichtigkeit_system), jetzt durchgängig englisch wie der übrige Code (qa_answer,agenda_item_importance_system). Der Text der Prompts ist unangetastet geblieben, Zeichen für Zeichen: Er ist das, was das Sprachmodell liest, und er bleibt deutsch. Für Leser*innen von ratslotse.de ändert sich nichts. Neu ist ein Wächter, der beides in beide Richtungen abgleicht — kein Abruf ohne Vorlage, keine Vorlage ohne Abruf. Ein Vorlagen-Name ist nur eine Zeichenkette: Wer ihn an einer Stelle ändert und an der anderen vergisst, merkt das sonst erst mitten in einem nächtlichen Lauf. (#908) - •Die Prompts lassen sich nicht mehr im Admin-Bereich bearbeiten. Sie stehen jetzt ausschließlich im Code — dort sind Änderungen sichtbar, nachvollziehbar und werden gegengelesen. Ein Prompt war im Panel zu schnell geändert und seine Wirkung zu schwer abzuschätzen (Tims Entscheidung). Die Verwaltungsseite und der entsprechende Bereich in der App entfallen; die Prompt-Tabelle wird beim nächsten Start entfernt. Gespeichert war dort nichts. (#870)
- •Die Blöcke einer KI-Antwort heißen intern jetzt englisch. Presse, Ratsdebatten, Anlagen, Bauleitplanungen, Tagesordnungen und die Grafik werden als
press_releases,debates,attachments,planning_procedures,sessionsundchartübertragen. Gespeicherte Gespräche ziehen beim Start mit um — sie zeigen ihre Blöcke also weiter, statt sie stillschweigend leer zu lassen. (#913) - •Die KI-Frage antwortet bei Haushaltszahlen mit der Zahl. Bisher begann sie oft mit „die Ratsunterlagen geben keine Auskunft“ und nannte die Zahl erst danach — weil ihr Prompt nur die Beschlüsse als Quelle kannte. Jetzt gelten die Haushaltsdaten als Teil der Unterlagen: Wer nach dem Kontostand, dem Anlagevermögen oder der Einwohnerzahl fragt, bekommt sie im ersten Satz. (#985)
- •Die Gebietsnamen des Quiz heißen jetzt englisch. Wahlbereiche, Ortsbereiche und Themen trugen ihre Bezeichnung nicht nur als Spalte, sondern als Wert in den Zeilen — beides ist umgestellt, samt Ortskatalog. Für Spielerinnen und Spieler ändert sich nichts; die Umstellung räumt die letzten deutschen Namen aus dem Quiz-Teil der Schnittstelle. (#859)
- •Quiz-Kategorien, Schwierigkeitsgrade und der Spielraum heißen intern jetzt englisch. Geschichte, Orte, Menschen, Ratspolitik und Schätzfrage werden als
history,places,people,council_politicsundestimationgespeichert, leicht/mittel/schwer alseasy/medium/hardund der Spielraum eines Produkts alslow/medium/high. Auf der Seite und in der App steht weiter das deutsche Wort; der Wortlaut, den die Stadt selbst in den Plan schreibt, bleibt unverändert daneben stehen. (#891) - •Die Rollen der Anwesenheitsliste heißen jetzt englisch. Wer eine Sitzung leitet, wer Mitglied ist, wer für die Verwaltung da war — intern stand das bisher auf Deutsch. Für Leser*innen ändert sich nichts: Die Seiten zeigen weiter dieselben Zahlen und Bezeichnungen. (#874)
- •Die Überschriften der API-Dokumentation heißen englisch. Die erzeugte OpenAPI-Datei führt 191 Antwortformen auf; 139 davon trugen noch deutsche Namen — aus
WochenvorschauwirdWeekPreview, ausBeschlusszeileDecisionRow, ausGespraechDetailConversationDetail, ausQuizFrageQuizQuestion. Umgezogen sind ausschließlich die Namen der Formen: Kein Feld, kein Pfad und kein Parameter der Schnittstelle ändert sich, Web und App zeigen unverändert dasselbe. (#914) - •Vier weitere Wertelisten heißen intern jetzt englisch. Wie eine Fraktion gestimmt hat (
against/abstention), wie ein Beschluss auf ein Stadtziel wirkt (advances/hinders), wie zwei Themen zusammenhängen (documented/similar) und woher eine Quizfrage stammt (city). Angezeigt wird weiter das deutsche Wort. (#895) - •Die Haushalts-Abfragen haben ein eigenes Modul bekommen. Sie lagen bisher mitten in einer Datei mit über fünfzehntausend Zeilen, in der auch Sitzungen, Beschlüsse und Personen wohnen. An der Website ändert sich nichts; für alle, die am Code arbeiten, ist der Haushalt jetzt an einer Stelle zu finden. (#1012)
- •Die große Datenbank-Datei ist fertig aufgeteilt. Sitzungen, Wortbeiträge und Fundstücke waren die letzten drei Bereiche, die ein eigenes Modul bekommen haben; übrig bleibt der gemeinsame Kern. An der Website ändert sich nichts. (#1021)
- •Auch das Zuordnen von Orten liegt jetzt beim Ortsmodul. Dieselbe Nachbesserung wie beim Haushalt: Die Funktionen, die Beschlüssen ihre Orte zuweisen, waren beim Aufteilen zurückgeblieben. An der Website ändert sich nichts. (#1024)
- •Auch die Orte haben jetzt ihr eigenes Modul. Katalog, Geocodierung, Stadtteile und Kartenpunkte lagen bisher verteilt in derselben Datei wie Sitzungen und Beschlüsse. An der Website ändert sich nichts; wer am Code arbeitet, findet die Ortszuordnung jetzt an einer Stelle. (#1013)
- •Personen und Themen haben eigene Module bekommen. Damit ist die große Datenbank-Datei um ein Viertel kleiner als am Morgen. An der Website ändert sich nichts. (#1020)
- •Presse und Quiz haben eigene Module bekommen. Zwei weitere Ecken sind aus der großen Datenbank-Datei ausgezogen. An der Website ändert sich nichts. (#1017)
- •Der Umbau der Datenbank hat eine eigene Datei bekommen. Die Anweisungen, die eine Datenbank beim Öffnen auf den aktuellen Stand bringen, standen mitten zwischen den Abfragen — allein 2.458 Zeilen in einer einzigen Funktion. An der Website und an der Reihenfolge der Schritte ändert sich nichts. (#1022)
- •Auch das Einlesen der Haushaltsdaten liegt jetzt beim Haushalt. Beim Aufteilen war nur die Abfrageseite umgezogen; die 55 Funktionen, die die Zahlen in die Datenbank schreiben, blieben zurück. An der Website ändert sich nichts. (#1023)
- •Eine lange Straße gehört jetzt in jeden Stadtteil, durch den sie führt. Bisher trug jeder Ort genau einen Stadtteil — den überwiegenden. Für eine Schule oder einen Platz stimmt das; für eine Straße nicht. Die Alexanderstraße verläuft zu 38 % in Bürgerfelde, zu 20 % in Alexandersfeld, zu 18 % im Ziegelhof, zu 13 % im Ehnernviertel und zu 10 % in Dietrichsfeld — vier dieser fünf Viertel sahen ihre eigene Straße nicht, wenn sie nach Beschlüssen bei sich suchten. Das betraf 99 Orte im Bestand. Wer jetzt nach seinem Stadtteil filtert, findet dort auch, was auf den Straßen passiert, die ihn durchqueren: im Ziegelhof 124 Beschlüsse mehr, in Haarentor 125, im Ehnernviertel 105 — darunter die Ausbauplanung der Alexanderstraße, die Fahrradstraße Quellenweg und der Bebauungsplan Ostweg/Sandweg. Insgesamt werden 1.287 Beschluss-Zuordnungen sichtbar, die vorher nur ein einziges Viertel kannte. Verloren geht dabei nichts. Zwei Dinge bleiben bewusst beim einen Stadtteil. Ein Ort, der genauso heißt wie ein Stadtteil, färbt seine Nachbarn nicht ein: Die Fläche, die ein Kartendienst für „Ofenerdiek" liefert, ragt nach Nadorst hinein — aber unser eigener Umriss *ist* die Definition von Ofenerdiek. Und die Themen-Vorschläge bleiben eng: Sonst schlägt das Ehnernviertel „Hallensichel-Ost" vor, bloß weil dieses Thema einmal im selben Beschluss stand wie die Alexanderstraße. Autobahnen bleiben außen vor. „A 293" quert die halbe Stadt und gehört in keinen Stadtteil — sie wird weiter als Ort genannt, verortet aber niemanden. (#902)
- •Die Tabellen der Datenbank heißen jetzt englisch.
council_haushaltistcouncil_budget,council_wortbeitraegeistcouncil_speeches,qa_gespraecheistqa_conversations— 66 Tabellen in beiden Datenbanken. Die Umbenennung passiert beim Start von selbst und bewahrt jede Zeile; auch die Volltextindizes ziehen mit. Für Leser*innen ändert sich nichts. (#918) - •Die Änderungsarten der Tagesordnung heißen intern jetzt englisch. Neu, geändert, verschoben, Vorlage, Anlagen und entfernt werden als
new,changed,moved,template,attachmentsundremovedgeführt — in der Chronik einer Sitzung, in der Ausschuss-Mail und in der App. Gespeicherte Chroniken ziehen beim ersten Start mit um; angezeigt wird weiter das deutsche Wort. (#894) - •Beschlüsse und Sitzungen sind im API-Vertrag jetzt vollständig beschrieben. Bisher stand dort nur „ein Objekt" — Web-Version und App mussten selbst wissen, welche Felder ein Beschluss hat, jede für sich. Jetzt stehen alle Felder im Vertrag, ein Test schlägt an, wenn die Datenbank eine Spalte dazubekommt und die Beschreibung hinterherhinkt. Damit erzeugt auch die native App ihre Datentypen aus derselben Quelle statt sie abzutippen. (#848)
- •Weitere Serverantworten sind im Vertrag beschrieben. Das Heute-Briefing, die Sitzungspause, die Analyse- und Trendseiten, die Themenfelder, Gremien und Ziele standen bisher als „ein Objekt" im Schema — Weboberfläche und App mussten die Felder selbst kennen. Jetzt stehen sie dort, und beide erzeugen ihre Datentypen daraus. (#849)
Behoben
- •Eine stumme Modell-Antwort nimmt nicht mehr allen die Meldungen. Antwortet der KI-Anbieter mit einer leeren Antwort statt mit einem Fehler, brach der tägliche Tagesordnungs-Lauf mittendrin ab — wer danach an der Reihe gewesen wäre, bekam keine Benachrichtigung zu seinen Themen. Jetzt wird der Aufruf wiederholt, und hält der Ausfall an, überspringt der Lauf nur diese eine Zuordnung und macht mit allen anderen weiter; beim nächsten Lauf wird sie nachgeholt. (#1032)
- •Wortbeiträge mit einer Rolle vor dem Namen zählen wieder zur Person. Stand im Protokoll „Ausschussvorsitzender Behrens" statt „Herr Behrens", tauchte der Beitrag auf keiner Personenseite auf — 39 Beiträge in zehn Schreibweisen. Ursache war eine Namensverwechslung im Code: zwei Listen hießen gleich, und die längere wurde von der kürzeren still überschrieben. (#1018)
- •Ein Endpunkt kann nicht mehr etwas ausrechnen, das nie ankommt. Wenn eine Seite ein Feld an ihre Antwort hängt, das die beschriebene Antwortform nicht kennt, wird es beim Verschicken stillschweigend entfernt — genau daran war zuletzt die Trend-Ansicht in Web und App gescheitert. Das fällt jetzt vor dem Zusammenführen auf. (#990)
- •Der API-Vertrag beschreibt optionale Felder jetzt so, dass auch die native App sie sieht. Optionale Angaben standen in einer Schreibweise im Schema, die der Swift-Codegenerator stillschweigend übergeht — 139 Felder wären in einer nativen App schlicht nicht angekommen, ohne dass irgendwo ein Fehler aufgetaucht wäre. Die Schreibweise ist umgestellt, ein Test hält sie fest. Nebenbei wurden fünf Stellen im Vertrag genauer, an denen er ungenauer war als die Weboberfläche. (#844)
- •Drei Ansichten der App lasen Feldnamen, die es nicht mehr gibt. Die Ziel-Übersicht, das Personen-Lexikon und der Zähler der freien Recherchen fragten das Backend nach Feldern, die dort inzwischen anders heißen; die Trend-Ansicht fragte nach einem, das die Antwort gar nicht mehr verließ. Web und App zeigen die Trends wieder. Neu ist außerdem eine Prüfung, die jede Swift-Struktur gegen das Schema hält, das sie decodieren muss — sie rechnet sich aus der Aufrufstelle aus, statt Namen zu raten. (#982)
- •Der Prüfbericht 2025 des Abfallwirtschaftsbetriebs liest sich jetzt. Sein Textextrakt verklebt die Zellen der Mehrjahresübersicht („BilanzsummeT€24.50625.500…“). Zeigt ein Extrakt solche verklebten Zellen, setzt der Einlese-Lauf die Zeilen aus den Wortrahmen des PDFs neu — dieselbe Lesung, dieselben Proben. Damit trägt der AWB fünf weitere Jahre Kennzahlen bis 2025. (#992)
- •Drei strittige Kennzahlen des Abfallwirtschaftsbetriebs stehen jetzt im Bestand. Der Bilanz-Leser nahm beim AWB die Zeile „Sonderposten“ für das Eigenkapital 2017 und 2018, weil sie zwischen Eigenkapital und Rückstellungen steht; jetzt endet der Eigenkapital-Block davor. Und zwei Berichte, die dieselbe Zahl um einen Tausender verschieden runden (Cashflow 2024: 1.858 und 1.859 TEUR), gelten als Bestätigung, nicht als Widerspruch. (#999)
- •Beschluss-Karten zeigen keine Lücken mehr, wo Gremium oder Datum fehlen. Ein Beschluss, dessen Sitzung nicht im Bestand steht, hat weder das eine noch das andere. Die Karte setzte beides trotzdem voraus und schrieb dann eine Zeile mit fehlenden Angaben. Jetzt zeigt sie, was sie hat, und lässt den Rest weg. (#976)
- •Die Plan-Bilder der Bebauungspläne hingen an einer leeren Spalte. Beim Umbenennen der Datenbank war
council_anlagenzu zwei Bildspalten gekommen — einer gefüllten und einer leeren, an der alle Leser hingen. Behoben, samt derselben Falle im Wirtschaftsplan. (#881) - •Die Wochenvorschau für den Instagram-Kanal lief in einen Fehler, sobald die nächste Ratssitzung noch keine Tagesordnung hatte. Behoben. Außerdem waren bei der Umstellung auf englische Feldnamen 52 deutsche Sätze mitübersetzt worden — sie standen unter anderem in den Belegtexten unter den Zahlen („ergeben zusammen exact die Summe"). Sie lauten wieder wie vorher. Außerdem lief das Auswertungs-Skript für die Ortszuordnung seit der Stadtteil-Umbenennung in einen Datenbankfehler. Die Zahl der Tagesordnungspunkte fehlte in der Sitzungsliste. Web und App zeigten „0 TOPs" bzw. eine leere Zahl — der Wert wurde beim Ausliefern still entfernt, weil er in der Antwortform nicht stand. (#863)
- •Das Ergebnis eines Dringlichkeitsantrags stand am falschen Punkt. Weil Dringlichkeitsanträge eine eigene Zählung haben, landete die Abstimmung über „DZT 1" bei Tagesordnungspunkt 1 — also bei der Feststellung der Beschlussfähigkeit, über die nie abgestimmt wird —, während beim Antrag selbst kein Ergebnis stand. Beides sitzt jetzt richtig. (#925)
- •Das Admin-Panel zählt jetzt wirklich, was es anzeigt. Im Nutzer-Detail standen „Beschluss-Suche", „Analyse" und „Stadtkarte" für jedes Konto auf „nie" — die Zähler gab es seit dem ersten Admin-Panel, die Aufrufe, die sie hochzählen, nie. Sie ticken jetzt an den drei Stellen, und die Gründliche Recherche, die längst mitgezählt wurde, bekommt endlich ihren eigenen Chip. Gezählt wird eine Absicht, kein Seitenaufruf: Wer die Beschlussliste nur öffnet und blättert, taucht nicht als Suche auf. (#909)
- •Zehn Zähler und Zahlen im Haushalt stehen jetzt sauber. Die Rücklage-Karte zählt Werte wie ihr Tabellen-Link, die Produktebene zählt Hero, Einleitung, Filter und Trefferzeile gleich (77 Produkte, darunter 7 Stiftungen ohne Amt) und benennt Überschüsse als solche, die Abdeckungs-Chips sagen „Daten ab 2021“ statt „ohne 2019–2020“, unbesetzte Stellen tragen einheitlich zwei Nachkommastellen, die Gewerbesteuer-Kurve bekommt runde Achsenwerte, Lücken in den Gebühren- und Wirtschaftsplan-Kurven nennen ihren Grund, ein Bereich ohne Auszahlung sagt das statt „davon gedeckt“, der Beleg-Chip der Nachbewilligungen hängt an der Überschrift, und die Produktebene behauptet nicht mehr, ihr jüngstes Jahr gebe es noch nicht. (#1002)
- •Die Änderungslisten zum Finanzhaushalt 2019 und die beschlossenen Änderungen 2020 fehlten auf „Mitreden“. Zwei Bauformen hatte der Leser nicht gekannt: eine Position, die nur einen einzelnen Betrag trägt (2019, Erschließung Gewerbeflächen), und ein ganzer Block ohne laufende Nummern (Beschluss 2020, Planjahr 2022). Beide Dokumente gehen jetzt auf, 17 von 18 Listen sind im Bestand; die achtzehnte widerspricht ihrer eigenen Zusammenstellung um 25.000 € und bleibt draußen, ihre inhaltsgleiche Zweitablage steht. (#974)
- •Die Gebührenbedarfsberechnung 2019 ist jetzt vollständig lesbar. Der gescannte Bericht verlor in der Texterkennung zwei von vier Minuszeichen; ein gedrucktes Minus zählt als Abzug, ein positiver Betrag ist Zwischensumme oder Abzug, je nachdem, ob er dem laufenden Stand gleicht — und nur die Lesart gilt, die die Zeile „zu decken sind“ trifft. Die Straßenreinigung 2019 trägt ihren Jahrgang nur in der Kalkulationszeile und rechnet die Unterdeckung aus Vorjahren hinzu; die Tarifübersicht endet jetzt an ihrer Zeile statt am Dokumentende. Damit stehen Abfallbehandlung (118,60 € je Tonne), Straßenreinigung (3,74 €) und zwölf Tarife für 2019 im Bestand. (#995)
- •Die Gebührenbedarfsberechnung 2021 ist jetzt lesbar. Der gescannte Bericht kam nur über die Texterkennung herein, und dort stehen alle Abzüge ohne Minuszeichen. Der Parser rät kein Vorzeichen: Ein Betrag gilt als Zwischensumme, wenn er dem laufenden Stand gleicht, sonst als Abzug — und nur wenn die Zeile „zu decken sind“ damit exakt getroffen wird, zählt die Lesung. Damit tragen Abfallbehandlung 2021 (121,95 € je Tonne) und die zwölf Tarife des Jahrgangs erstmals einen Beleg. (#991)
- •„Frag den Rat" zeigte nur die letzten 50 Gespräche. Wer mehr gespeichert hatte, kam an die älteren nicht mehr heran — sie lagen weiter im Konto, waren über die Liste aber unerreichbar, und auch die Zähler blieben bei 50 stehen. Die Gespräche-Liste blättert jetzt: „Ältere anzeigen" holt die nächste Seite nach, Kopf-Knopf und Konto-Einstellung nennen den echten Bestand, und das Suchfeld durchsucht alle Gespräche statt nur der sichtbaren. (#831)
- •Der Stellenplan 2026 zeigte nur die Beamtinnen und Beamten. Im PDF der Verwaltung tragen die Seiten des Teils B (Arbeitnehmerinnen und Arbeitnehmer) keine Zeichenzuordnung — als Text kommt Buchstabensalat heraus, während der Rest des Dokuments lesbar ist. Der Nachlade-Lauf erkennt solche einzelnen Seiten jetzt und liest sie per Texterkennung; damit stehen beide Teile des Stellenplans 2026 im Bestand. (#978)
- •Vier Haushaltsseiten lasen noch die alten Feldnamen. Nach dem Umbau der Schnittstelle auf Englisch zeigte der Steuer-Steckbrief unter „Geplant und geworden" nur NaN, der Städtevergleich verlor seine Bühne samt „Steuerkraft je Einwohner*in", und bei den dreizehn Kennzahlen stand der Rohschlüssel „population" statt der Einwohnerzahl. Die Steckbrief-Adressen
?art=gebuehrenund?art=kleine-steuernheißen wieder deutsch, wie alle Adressen der Website. Dazu drei Textfehler („kein Ansatz balance", zwei fehlende Leerzeichen). (#921) - •Der Hebesatz der Haushaltssatzung wird wieder gegen das Statistische Jahrbuch gehalten. Die Satzung nennt ihre Grundsteuer- und Gewerbesteuer-Hebesätze selbst; Tabelle 1105 des Jahrbuchs nennt sie auch. Gehen beide auseinander, widersprechen sich zwei Häuser, und der Jahrgang fällt durch. Diese Probe lief seit ihrer Einführung ins Leere, weil sie die Steuerart unter einem Namen suchte, den es in den Daten nicht gibt — sie meldete deshalb immer „keine Vergleichszahl vorhanden", was für den kommenden Haushalt der Normalfall ist und darum niemandem auffiel. Der Prüfvermerk steht jetzt wieder an den Jahrgängen, für die es eine Jahrbuchzahl gibt. (#941)
- •„Heute im Rat" nennt wieder die Zahl der Tagesordnungspunkte. Unter dem Hinweis auf die laufende Sitzung stand, wie viele Punkte auf der Tagesordnung stehen. Seit der Umstellung der Schnittstelle auf englische Feldnamen kam die Zahl der übrigen Punkte unter einem neuen Namen an, und weder die Website noch die App lasen ihn — die Angabe verschwand deshalb ganz. Beide zählen jetzt wieder vollständig. (#979)
- •Zwei weitere Ingest-Skripte lasen ein umbenanntes Feld. Die Nachbewilligungen und die Steuertabellen des Jahrbuchs fragten noch
artstattkindab und rissen damit den Finanzdaten-Lauf auf dev, sobald er bis zu ihnen kam. (#929) - •In der App klebten Absätze und Zwischenüberschriften der KI-Antwort aneinander. „… vertagt ⑦.Kosten und FinanzierungPlanungskosten: …" — ohne Leerzeichen, und die Überschrift stand unformatiert mitten im Fließtext. Ursache war der Markdown-Parser von iOS: Er erkennt Absätze, Überschriften und Listen zwar, wirft ihre Grenzen im Ergebnis aber ersatzlos weg. Die App schneidet die Blöcke jetzt selbst — Überschriften stehen als Überschriften, Aufzählungen als Aufzählungen, Absätze mit Luft dazwischen. Ebenfalls behoben: Unter „Aktuelles von der Stadt" stand nur eine Überschrift samt Link nach draußen; die Meldung selbst lag längst in der Datenbank und wurde auf dem Weg zur Anzeige verworfen — jetzt steht sie da, im Web wie in der App. Und die Datumszeilen der Belege zeigten stellenweise das rohe „2026-08-27" statt „27. Aug. 2026". (#903)
- •Die App zeigt bei „Meine Themen" wieder, wie oft ein Thema zuletzt vorkam. Unter jedem Thema steht, wie viele Beschlüsse dazu im Betrachtungszeitraum gefunden wurden. Seit der Zeitraum von 30 Tagen auf sechs Monate erweitert wurde, las die App den Wert noch unter seinem alten Namen — sie bekam ihn deshalb nie und zeigte bei jedem Thema „0 in 30 Tagen", unabhängig davon, wie viel wirklich gefunden wurde. Jetzt steht dort die richtige Zahl und der richtige Zeitraum. Die Website war nie betroffen. (#947)
- •Auf dem iPad im Hochformat brach der Willkommens-Bildschirm um. „Mitteilung bei neuen Beschlüssen" und „Rat Oldenburg" rutschten mitten im Satz in die zweite Zeile, und auf dem Anmelde-Bildschirm war die Überschrift „Was entscheidet die Stadt?" abgeschnitten. Beide Ansichten stellen sich jetzt nach der tatsächlichen Breite auf, nicht nach der Gerätegröße. (#865)
- •Die Stadtkarte lieferte gar nichts mehr. Ein Teil ihrer Punkte — die aus Themen abgeleiteten — trägt weniger Angaben als die aus Beschlussorten; seit der letzten Beschreibung der Antwortform galten diese Angaben als Pflicht, und die Karte brach beim Ausliefern komplett ab. Gefunden hat es die Prüfung nach dem Deploy, die jetzt auch die angemeldeten Seiten abruft: 48 statt acht. (#997)
- •Der Konzern-Ingest brach an einem umbenannten Feld ab. Die Trägeraufstellung des Gesamtabschlusses liefert seit dem Umbau
kindstattart; der Ingest las noch den alten Namen und riss damit den ganzen Finanzdaten-Lauf auf dev ab, bevor die späteren Schichten an die Reihe kamen. (#927) - •Kreditaufnahmen 2019 bis 2021 fehlten auf der Schulden-Seite. Die Unterrichtungen dieser Jahre heißen im Ratsinformationssystem anders („Unterrichtung nach § 8 der Kreditrichtlinie“) und schreiben jeden Vorgang als Feldliste — Abruf, Wertstellung, Zinssatz, Zinsfestsetzung. Beides liest der Bereich jetzt, und weil diese Vorlagen ohne Text im Bestand lagen, holt der Einlese-Lauf die Texte selbst nach. (#975)
- •Die Schulden-Seite lud nicht mehr, sobald die Kredite-Zahlen da waren. Der Antwortvertrag des Kredite-Endpunkts hatte die Herkunfts-Einträge nicht deklariert, die Seite las sie aber — der Vertrag trägt sie jetzt. (#970)
- •Eine leere Datei hätte den Datenbank-Umzug blockiert. Beim Start benennt sich die Konten-Datenbank selbst von ihrem alten Namen auf den neuen um. Lag am neuen Ort schon eine leere Datei, galt der Umzug als erledigt — die App hätte das Schema dort neu angelegt und wäre mit leeren Konten hochgekommen, während die echten Daten unberührt unter dem alten Namen liegen. Eine 0 Byte große Datei zählt jetzt als „nicht da"; liegen zwei gefüllte Datenbanken nebeneinander, sagt es das Log statt zu raten. (#912)
- •An Ratstagen steht im „Live"-Hinweis jetzt die Sitzung, die wirklich läuft. Drei Gremien tagen dort nacheinander im selben Haus — 16 Uhr der Ausschuss für Allgemeine Angelegenheiten, 16:30 Uhr der Verwaltungsausschuss, 18 Uhr der Rat. Sie warten aufeinander, sie tagen nicht parallel. Der Ratslotse rechnete bisher pauschal mit vier Stunden ab Beginn und zeigte um halb sieben deshalb noch den Ausschuss, der längst vorbei war — auf der Startseite, auf „Heute" und als LIVE-Zeichen in der Sitzungsliste. Jetzt endet eine Sitzung auf die Minute, sobald die nächste beginnt. Folgt keine weitere, endet sie nach drei Stunden; nur der Rat behält seine vier, weil er sich länger zieht. (#883)
- •Das Ende des „Live"-Fensters steht jetzt auch im API-Vertrag. Die Antwortform der Sitzungsliste und des „Heute im Rat"-Briefings zählt ihre Felder seit dem Vertrags-Umbau einzeln auf — und was dort nicht steht, schneidet die API still ab. Der neue Zeitpunkt, bis zu dem eine Sitzung als laufend gilt, fiel deshalb auf dem Weg zu den Anzeigen heraus, zusammen mit der Liste aller Sitzungen des Tages. Beide sind eingetragen. (#885)
- •Zwei Jahrgänge lagen im Ratsinformationssystem und wurden nicht gefunden. Die Haushaltssatzung 2022 hängt dort als „HH Satzung 2022“ am Beschluss, die Gebührenbedarfsberechnung 2021 nur als „Anlagen 1-4“ an ihrer Vorlage — beide Namen passten zu keinem Suchmuster. Die Erkennung schaut jetzt auch auf den Titel der Vorlage, und die Nachlade-Läufe für Text und Texterkennung nehmen dieselben Dokumente wie der Datenstand. (#973)
- •Lottis Schatten pulst nicht mehr, und den Schal gibt es erst zum Herbstanfang. Beim Blinzeln und nach jeder Geste flackerte kurz der Bodenschatten auf — eine Überblendung im Abspieler, die dort gar nichts zu überblenden hatte; sie läuft jetzt nur noch, wo wirklich ein Sprung ist, und beim Blinzeln atmet Lotti einfach weiter. Ihre Kleidung folgt außerdem den Kalender-Jahreszeiten statt den meteorologischen: Sonnenbrille bis zum 21. September, Schal erst danach. Und in der Karte der gründlichen Recherche ist sie ein Stück gewachsen. (#906)
- •Lotti ist jetzt überall scharf — und ihre Gesten bedeuten etwas. Die Sprite-Blätter sind in doppelter Auflösung neu gebacken (auf Retina- und Telefon-Bildschirmen war die Figur bisher weich, im Ruhezustand zusätzlich durch die Atembewegung verwaschen). Außerdem spielt Lotti von selbst nur noch Blinzeln und Nicken: Winken, Lachen oder Nachdenken erscheinen nur dort, wo sie etwas heißen — und drei sind ganz neu gebaut: Bei der gründlichen Recherche jongliert Lotti, bis die Dokumente dran sind, dann liest sie mit und schreibt schließlich am Bericht; bei voller Quiz-Punktzahl stemmt sie einen Pokal samt Konfetti. Dazu erklärt sie am „Lotti erklärt's einfach"-Kasten, hat die Glühbirne überm Kopf beim Fundstück des Tages, fragt am Quiz und ist kurz traurig, wenn eine Seite nicht laden konnte. (#898)
- •Die Themen-Mail meldet nur noch aktuelle Beschlüsse. „Neu" hieß im Wochenabgleich bisher bloß „stand letzte Woche noch nicht in der Trefferliste" — und das trifft auch jahrealte Beschlüsse, die erst jetzt über die Relevanzschwelle rutschen. So ging eine Mail zu einem Thema raus, deren Beschluss aus dem März 2023 stammte. Ab sofort löst nur noch eine Sitzung aus den letzten sechs Monaten Post aus — dieselbe Grenze, die auf der Themen-Karte als „n in 6 Monaten" steht. Ältere Treffer bleiben unverändert in der Liste und im Zähler stehen, sie klingeln nur nicht mehr. (#832)
- •„Mitreden" ließ sich auf dem Telefon seitwärts schieben. Die Tabelle mit den Positionen der Änderungslisten braucht für drei Spalten aus Text und Zahlen mehr Platz, als ein Telefon hat — die Seite lief dadurch waagerecht über, und zwar schon, bevor der Urheber dazukam. Auf schmalen Schirmen ist sie jetzt keine Tabelle mehr, sondern eine Liste: Jede Position steht als eigener Block, und die Beträge tragen ihre Beschriftung („Ertrag", „Aufwand") direkt bei sich, statt sie aus einer Kopfzeile zu beziehen, die weit oben steht. Wo eine Position in einer Spalte gar nichts trägt, entfällt die Zeile — der Gedankenstrich, den die Tabelle dort zeigen muss, hätte unter jeder Position eine tote Zeile hinterlassen. Ab Tablet-Breite bleibt alles wie gehabt, samt mitscrollender Kopfzeile. Gleich mit behoben: Die Verhandlungsbilanz darüber („wer wollte ändern und kam damit durch") schob sich bei genau zwei Fensterbreiten ebenfalls aus ihrer Karte — bei 744 Pixeln und, weil dort die Seitenleiste einsetzt und Platz wegnimmt, bei 1024. Ihre Spalten dürfen jetzt schmaler werden, wenn es eng wird; wo Platz ist, sind sie unverändert breit. (#841)
- •Der Nachbewilligungs-Ingest suchte den Rats-Kanal unter seinem alten Namen. Die Entscheidungswege des Rechenschaftsberichts heißen seit dem Umbau englisch; das Skript fragte weiter „rat" ab und brach beim Lesen der Rechenschaftsberichte ab. (#932)
- •Der Einrichtungs-Assistent reagiert sofort und schlägt Besseres vor. Drei Befunde vom ersten Tag auf dev, alle behoben. Ein Klick auf einen Stadtteil brauchte Sekunden. Ein Stadtteil ist ein Thema, und ein neues Thema gleicht der Server sofort mit dem Beschlussbestand ab; nach einem Neustart des Dienstes lädt er dafür erst die Modelle. Die Pille sprang erst danach um, und solange war jeder weitere Klick gesperrt. Jetzt springt die Anzeige sofort, jeder Stadtteil wartet für sich, und Klicks laufen nebeneinander; nur wenn der Server nein sagt, fällt die Anzeige zurück. Die Vorschläge kamen spät und ohne Hinweis. Für jeden noch nie gesehenen Vorschlag entschied ein Modell im laufenden Aufruf, ob der Name als Thema taugt; beim ersten Aufruf nach einer Neuberechnung waren das Dutzende Entscheidungen hintereinander. Die Urteile werden jetzt im Wochenlauf vorgerechnet, und solange der Assistent sucht, sagt er das mit Platzhaltern. Unter dem eigenen Stadtteil standen Straßen und Plannummern. Wer „Krusenbusch" gewählt hatte, dem wurden „Quartier am Krusenbusch" und „Grundschule Krusenbusch" als Dubletten des eigenen Themas weggefiltert, also genau das Beste. Ein Stadtteil-Thema zählt beim Dubletten-Vergleich nicht mehr mit. Straßen mit zwei, drei Erwähnungen fallen aus den Stadtteil-Listen; starke Straßen bleiben, hinten. Namen, die nach stadtweitem Vorgang klingen, gehören in die stadtweite Liste. Und eine Plannummer trägt ihre Erklärung sichtbar auf dem Chip („Bebauungsplan 862 · Quartier am Krusenbusch"), nicht im Tooltip, den es auf dem Telefon nicht gibt. Eigene Themen standen unter dem sichtbaren Bereich. Sie stehen jetzt direkt unter dem Eingabefeld, eine Zeile je Thema, und ein Thema, das gerade angelegt wird, erscheint dort sofort mit dem Hinweis, dass Lotti noch die Beschlüsse dazu liest. (#926)
- •Der Bestandsbericht des Finanzdaten-Laufs war seit dem Umzug der Tabellen blind. Er fragte die alten deutschen Tabellennamen ab und meldete für jede Schicht „no such table", ohne den Lauf rot zu färben. Jetzt zählt er die Tabellen unter ihren heutigen Namen, findet die Jahresspalten wieder und zählt gelesene Scans am Sehmodell statt an einem Status, den es nicht mehr gibt. (#933)
- •Beschlüsse landen zuverlässiger im richtigen Stadtteil. Eine Prüfung des echten Ratsbestands brachte sechs Fehler zutage, die sich alle darauf auswirken, was auf der Stadtkarte, im Stadtteil-Filter und bei der Frage „was passiert in meinem Viertel?" erscheint. Straßen lagen im falschen Stadtteil — oder in gar keinem. Der Stadtteil eines Ortes wurde aus einem einzigen Punkt abgeleitet: dem Mittelpunkt seines umschließenden Rechtecks. Bei Flächen geht das; bei Straßen liegt dieser Punkt oft neben der Straße. „Am Bahndamm" verläuft auf ganzer Länge in Drielaker Moor und stand auf Drielake, weil der Mittelpunkt dort landete — 63 Beschlüsse, unter ihnen die Straßenbenennungen und Grundstücksvermarktungen des neuen Wohngebiets. Die Bremer Straße stand umgekehrt, der Sperberweg in Eversten statt Kreyenbrück, die Huntestraße in einem Viertel, das sie nicht berührt. Jetzt entscheidet der ganze Verlauf. Ein einmal falsch eingetragener Stadtteil blieb für immer stehen. Der Nachtrag füllte nur leere Felder — richtig für Lücken, wirkungslos gegen Falsches. Widerspricht die Geometrie dem eingetragenen Bereich, gilt jetzt die Geometrie. Nur beim klaren Widerspruch: Eine Straße, die durch drei Bereiche läuft und mit einem davon eingetragen ist, bleibt unangetastet. Orte, die ihren Stadtteil im Namen tragen, wurden ignoriert. „Oberschule Ofenerdiek", „GS Drielake", „Bürgerhaus Ofenerdiek" — kein Kartendienst findet solche Namen, und so blieben 71 Orte mit zusammen 176 Beschluss-Verweisen unsichtbar. Nennt der Name eindeutig einen Stadtteil, zählt er jetzt. Nennt er zwei, bleibt der Ort lieber ohne Zuordnung als mit einer geratenen. Heißt ein Ort *genau* wie ein Stadtteil, ist er dieser Stadtteil — auch wenn ein Kartendienst eine Fläche nebenan gefunden hat. Stadtweite Vorgänge bekamen einen Stadtteil, der ihnen nicht zusteht. Der „Oldenburg Pass" hing an der Anschrift des Verkehrsbetriebs, das Rad- und Fußverkehrsprogramm an einer einzelnen Straße, die Marktgebührensatzung an der Weser-Ems-Halle. Steht der Ort nur im Vorlagentext und ist der Vorgang seinem Titel nach stadtweit — Satzung, Programm, Jahresabschluss, Besetzung —, gilt er künftig als Beiwerk. Nennt der Titel den Ort selbst, bleibt alles wie es war: „Masterplan Fliegerhorst" ist und bleibt am Fliegerhorst, und jede Mehrauszahlung „für den Ausbau Pophankenweg" behält ihre Straße. Diese Regel übersah zusammengesetzte Wörter — also fast alle. Sie suchte „Programm" mit Wortgrenze davor und traf damit kein einziges Kompositum: ausgerechnet „Rad- und Fußverkehrsprogramm" und „Wohnungsbauförderungsprogramm", ihre eigenen Musterfälle, fielen durch. Ebenso Marktgebührensatzung, Klimaschutzkonzept, Vergnügungsstättenkonzept. Das Hinterglied zählt jetzt; die Wortgrenze dahinter bleibt und schützt den „Satzungsbeschluss", mit dem jedes Bebauungsplan-Verfahren endet. Die Regel las nur den Nominativ. Sie stand am Wortende und traf damit „Satzung", aber nicht „der Satzungen", „Konzept", aber nicht „des Konzeptes". Im Titel eines Ratsvorgangs sind Genitiv und Plural die Norm — „Änderung des Rahmenkonzeptes", „Fortschreibung des Lärmaktionsplans" —, also ging fast alles daneben. Deutsche Endungen zählen jetzt mit. Und sie sah nur in die Vorlage, nicht in den Beschluss. Der Beschlusstext galt als das verlässlichere Papier. Er ist es nicht: Auch dort stehen Anschriften, die dem Vorgang nicht gehören — „Verkehr und Wasser GmbH: Jahresabschluss 2022" hing an der Bürgerfelder Straße, die „Besetzung des Schulausschusses" an Eversten. Was schützt, ist der Titel, nicht die Herkunft des Fundes: Nennt er den Ort, bleibt er. Kennungen sahen aus wie Orte. „A 293" stand auf Nadorst, „A 29" auf Neuenwege, „FH-24" — eine Plannummer vom Fliegerhorst — auf Bloherfelde, „26122" ist eine Postleitzahl. Dass die Autobahn in einem Beschluss vorkommt, stimmt ja; sie quert nur die halbe Stadt. Solche Verweise bleiben deshalb stehen und verlieren nur ihren Stadtteil. Gattungsbegriffe waren als Orte erfasst. „Gemeindestraße", „Radweg", „Kunstrasenplatz" und sogar „Monitoring" standen mit über hundert Verweisen in den Daten, ohne je zu einem Stadtteil zu führen. Sie fallen jetzt weg — die konkrete „Entlastungsstraße Fliegerhorst" bleibt selbstverständlich, und Privatanschriften aus Personalvorlagen (die Wohnadressen vorgeschlagener ehrenamtlicher Richterinnen und Richter) verschwinden mit. Straßen der Nachbargemeinden verfälschten den Verlauf. Die Straßensuche fragt in einem Rechteck um Oldenburg — und das ist größer als die Stadt. Bei häufigen Namen kam der gleichnamige Weg von nebenan mit ins Ergebnis, beide wurden zu einem Verlauf verschmolzen, und der lag dann teils außerhalb. Fremde Abschnitte werden jetzt abgeschnitten; bleibt nichts übrig, gilt die Straße als nicht gefunden. Unterm Strich verlieren die Stadtteile 1.310 Zuordnungen, die dort nie hingehörten. Am meisten geben die Viertel ab, in denen eine Nebenerwähnung besonders oft eine stadtweite Satzung, einen Wirtschaftsplan oder einen Leitantrag angezogen hat. Nachgemessen ist der Bestand am Ende widerspruchsfrei: kein Ort mit Geometrie liegt in einem anderen Stadtteil, als seine Geometrie sagt; keine Privatanschrift, kein Gattungsbegriff und keine nackte Kennung führt mehr in ein Viertel; und in einer Stichprobe von 280 Beschluss-Zuordnungen findet sich keine, die ohne Beleg geraten wäre. Ein zweiter und dritter Durchlauf ändern nichts mehr. (#902)
- •Die Liste der verfolgten Vorgänge konnte in der App leer bleiben. Eine Vorlage ohne Titel hätte gereicht, damit die ganze Liste nicht mehr lädt — im Bestand stehen zwei davon. Dasselbe galt für ein Beteiligungsverfahren ohne Verweis auf der Beschluss-Seite. Umgekehrt beschrieb die Schnittstelle acht Angaben zum Konto als „darf fehlen", obwohl sie immer mitkommen; auch das steht jetzt richtig da. (#993)
- •Die Produktebene des Haushalts stand ein Jahr hinter ihren eigenen Plänen — und vier Bereiche fehlten in jedem Jahrgang. Die Teilhaushaltspläne sagen in ihrer Kopfzeile fünfmal „Ansatz": den fortgeschriebenen Vorjahresansatz, den Ansatz des Haushaltsjahres und drei Jahre Finanzplanung. Gelesen wurde bisher der erste — deshalb füllte der Verwaltungsentwurf für 2026 den Jahrgang 2025, und was einzelne Aufgaben 2026 kosten sollen, stand nirgends. Dazu warf eine Mindestseitenzahl die vier dünnsten Pläne aus jedem Jahrgang: Für Schule und Bildung, Wirtschaftsförderung und Liegenschaften, Personal und IT sowie die Stiftungen sagte die Seite „kein auslesbarer Teilhaushaltsplan", obwohl ihre Pläne danebenlagen. Jetzt zeigt die Produktebene alle dreizehn Bereiche bis 2026 — 584 Aufgaben statt 515, jede mit Kurzbeschreibung, Auftragsgrundlage und dem Spielraum, den die Stadt selbst dabei sieht. (#931)
- •Zwei Einlese-Läufe hätten die Herkunft eines Dokuments doppelt angelegt. Die Quellenart „Veröffentlichung auf oldenburg.de" heißt gespeichert seit dem Umbau
city; drei Stellen im Code schrieben aber weiterstadt, und weil der Fingerabdruck einer Quelle ihre Art mitrechnet, hätte derselbe Haushaltsplan beim nächsten Einlesen einen zweiten Eintrag bekommen statt seinen alten wiederzufinden. Der Schuldenreihen-Lauf wäre zusätzlich mit einem Fehler abgebrochen, weil er das Feld noch unter seinem alten Namen übergab. Ein neuer Prüflauf hält jeden Herkunfts-Aufruf im Quelltext gegen das Register. (#892) - •Die Gründliche Recherche versteht jetzt Anschlussfragen. Wer nach einer Antwort „Nochmal bitte ausführlich" schrieb, bekam einen Bericht über ganz andere Themen: Die Recherche kannte das bisherige Gespräch nicht und zerlegte den Zuruf wörtlich. Jetzt löst sie ihn — wie die schnelle Frage — zur eigentlichen Frage auf und recherchiert zum richtigen Thema. (#830)
- •Der nächste Einlesevorgang der integrierten Schulden wäre abgebrochen. Die Spalte für die übrigen Schulden heißt in einer gewachsenen Datenbank längst
other, im Tabellen-Entwurf stand aber weiter der alte deutsche Name — der Einlesevorgang nannte ihn und wäre auf dev und Prod im Datenbankfehler gestorben. Auf einer frischen Datenbank funktionierte er, weshalb kein Test etwas merkte. Ein neuer Prüflauf hält das frische Schema ab jetzt gegen jede Umbenennung. (#897) - •Der Schlussbericht 2024 des Rechnungsprüfungsamts kommt jetzt an die OCR. Sein PDF liefert Zeichen-Nummern statt Buchstaben; er war vor der Buchstaben-Schwelle geladen worden und stand deshalb als „gelesen" im Bestand, ohne lesbar zu sein — kein Lauf fasste ihn mehr an. Der Text-Backfill zieht die Schwelle jetzt nachträglich über den Bestand und stellt solche Anlagen dorthin, wo der OCR-Lauf sie findet. (#922)
- •Derselbe Ort stand mehrfach in den Daten, nur anders geschrieben. „Alte Fleiwa" und „AlteFleiwa", „Marschwegstadion" und „Marschweg-Stadion", „Maastrichter Straße" und „Maastrichter Str", „GS Röwekamp" und „Grundschule Röwekamp" — 66 solcher Paare, jedes mit einer eigenen, halbierten Beschlussliste. Wer auf den Ort klickte, sah je nach Schreibweise einen Teil der Vorgänge; in einer Vorschlagsliste konnte dieselbe Sache zweimal untereinander stehen. Sie sind jetzt ein Eintrag. Welche Schreibweise bleibt, entscheidet, wie die Ratsverwaltung überwiegend schreibt — und Bruchstücke aus der PDF-Extraktion verlieren immer: „Kasin o- platz" weicht dem Kasinoplatz, „Bloherfel.de" dem Stadtteil, „Sport- und Gesundheit sbad" dem Sport- und Gesundheitsbad. Zwei Orte, die sich beim Stadtteil widersprachen, sind damit nebenbei geklärt: „Kennedy straße" stand auf Eversten, „Kennedystraße" auf Bloherfelde. Hausnummern bleiben eigenständig: Die Alexanderstraße läuft durch vier Stadtteile, „Alexanderstraße 488" liegt in einem — das ist die genauere Angabe, nicht dieselbe. (#902)
- •Der Instagram-Bot findet seine Schnittstelle wieder. Eine Umbenennung hatte die Adresse eines Bot-Endpunkts mitgenommen; der Bot lebt in einem eigenen Projekt und rief seitdem ins Leere. Die Adresse steht wieder wie vorher, und ein Test hält sie jetzt fest. (#862)
- •Die Lücken-Zeilen der Spenden tragen wieder ihr Sitzungsdatum. Auf der Einnahmen-Seite steht bei jedem Beschluss ohne Zweitstelle, an welchem Tag er gefallen ist — seit der Umbenennung der Datenbankspalten fehlte das Datum, weil die Seite es noch unter dem alten Namen las. (#945)
- •Der Spenden-Ingest fand das Sitzungsdatum nicht mehr. Die Abfrage lieferte es unter dem alten Namen, der Parser erwartete den neuen — jede Zuwendung ohne Datum brach den Lauf ab. (#935)
- •Die KI-Frage hängte fremde Vorlagen an ihre Antworten. Bei der Umstellung auf englische Feldnamen war in fünf Sperrlisten das Wort „beschluss" durch einen englischen Namen ersetzt worden. Die Listen halten Allerweltswörter aus der Suche heraus — seitdem hielten sie nichts mehr zurück und ließen „Beschluss" durch, das in fast jedem Ratsdokument steht. Zur Frage nach dem Stadion an der Maastrichter Straße kamen so vier unbeteiligte Vorlagen mit. Außerdem trugen 1.681 Ortsbezüge eine Herkunft, die der Code nicht mehr kannte. (#866)
- •Der Städtevergleich zeigte keine einzige Zahl mehr. Die Seite „Steht Oldenburg besser da als Osnabrück?" hat seit einer früheren Umbenennung nur noch ihren Erklärtext gezeigt — Steuerkraft, Grundsteuer-Hebesätze und Steuereinnahmekraft aller acht kreisfreien Städte fehlten, und auch die KI-Frage bekam den Vergleich nicht mehr in ihren Kontext. Der Code las die Reihen unter ihrem neuen Namen, die Datenbank führte sie unter dem alten. Nebenbei heißen die Gebührenbereiche, die zwölf Gebührensätze und die Auszahlungsarten der Ist-Investitionen intern jetzt englisch. (#904)
- •Der Steuer-Steckbrief nennt das Jahr der letzten Hebesatz-Änderung. Die Gewerbesteuer stand mit „439 % seit 2025" auf der Bühne, obwohl der Rat den Satz zuletzt 2015 geändert hat — die Reihe führt seit 2025 auch Stand-Zeilen ohne Änderung, und die Bühne nahm die jüngste Zeile. Jetzt zählen nur die Stufen, auch für „davor N Änderungen" und für den Befund zum abgelehnten Erhöhungsvorschlag. (#958)
- •Der Tagesordnungs-Baustein fehlte auf der Frage-Seite. Wer nach einer Sitzung fragte, bekam die Antwort, aber nicht mehr die Liste der Tagesordnungspunkte darunter — an drei Stellen zugleich: in der laufenden Antwort, in einem später geöffneten Gespräch und bei den frischen Beispielen auf der leeren Seite. Ursache war eine Umbenennung, der die Website nicht gefolgt war; eine neue Prüfung hält die Namen des Antwort-Stroms jetzt zusammen. (#735)
- •Der Teilhaushalt 13 fehlte in der Produktebene von 2019 bis 2023. Seine Anlage heißt in diesen Jahrgängen nur „Nicht rechtsfähige Stiftungen“, ohne die Teilhaushalts-Nummer im Namen — die Erkennung suchte nach ihr. Sie nimmt jetzt auch den Namen und liest die Nummer vom Deckblatt. (#977)
- •Acht Stellen in Web und App lasen einen Wert, den es nicht mehr gab. Beim Umbau auf englische Bezeichner sind Wertelisten umbenannt worden, ohne dass die Oberflächen nachzogen: Die Anwesenheits-Karte eines Beschlusses zählte Verwaltung und Protokoll als Fraktion mit, die Änderungslisten-Karte des Haushalts verlor ihre Entwurfs- und Summenzeile, Personen-Kennzahlen standen mit „€" statt „Personen", der Hinweis auf einen stark abgewichenen Beschluss erschien nicht mehr, der Ratsbeschluss unter den Nachbewilligungen fehlte, und das Quiz zeigte für Themen-Gebiete das Ortssymbol. In der App trugen die Wortbeiträge einer Person keine Art-Kennzeichnung mehr. Ein neuer Prüflauf hält die Oberflächen ab jetzt gegen die umbenannten Werte. (#890)
- •Fünf Zuordnungstabellen in Web und App zeigten nichts mehr. Die Wortbeitrags-Arten im Personen-Profil und in der KI-Antwort, die Farben der Tagesordnungs-Chronik, die Gebietsart im Admin-Panel und die Quelle einer Quizfrage lasen alle noch den deutschen Wert, den der Umbau umbenannt hat. Der Prüflauf, der so etwas findet, sah bisher nur Werte in Anführungszeichen — genau diese Tabellen schreiben ihre Schlüssel ohne. Er sieht sie jetzt. Außerdem sprechen die vorläufigen Ergebnisse aus der Videoaufzeichnung dieselbe Sprache wie die Beschlüsse. (#896)
- •Der letzte Schritt der Einrichtung wurde nicht gespeichert. Wer im Browser bis zu den Mitteilungen kam und dort aufhörte, galt weiter als „bei den Themen stehengeblieben": Die Erinnerungs-Mail nannte den falschen Stand, und auf einem anderen Gerät begann man den Themen-Schritt noch einmal. (#1026)
- •Der Finanz- und Leistungsbericht zum 30.06.2023 ist da. Sein PDF trägt keinen lesbaren Textlayer; die Texterkennung liest die beiden Übersichtstabellen als Zeilen je Teilhaushalt. Daraus baut der Vollzugs-Leser den Bericht mit denselben Proben wie bei jedem anderen — Spaltenbelegung über die Rechnung, Zeilen- und Summenprobe, Stichtag und Haushaltsjahr aus dem Text. Der Beleg nennt die Texterkennung als Quelle. Damit hat der Haushaltsvollzug 2023 auch seinen Halbjahresstand. (#994)
- •Der Ergebnishaushalt zum 30.06.2024 ist wieder da. Im Bericht rechnet ein Teilhaushalt seine Aufwands-Abweichung gegen Ansatz plus Ermächtigungsübertragung, alle anderen gegen den Ansatz allein — die Zahl ging auf, nur auf der anderen Basis, und die Summenzeile enthält sie so. Bisher verwarf der Leser deshalb die ganze Tabelle. Jetzt bleibt die Zeile, wie gedruckt, und der Beleg nennt sie. (#998)
- •Der Beleg am Haushaltsvollzug führt zum richtigen Bericht. Auf „Geplant und geworden" zeigte das Quellenverzeichnis unter der Vollzugs-Zahl von 2026 die Berichte von 2024 — dem Abschlussjahr der Seite. Jetzt trägt der Block den Bericht seines Stichtags, mit der Fundstelle des gezeigten Haushalts; die Zwischenstand-Karte auf der Übersicht hat einen eigenen Beleg. Außerdem verlinkt „Woher diese Zahlen kommen" auf allen Haushalts-Seiten das Dokument, statt es nur zu nennen. (#939)
- •Die Einwilligung „Gespräche speichern" war nach dem letzten Update verschwunden. Zwei Spalten der Konten-Tabelle hatten beim Umbau auf englische Bezeichner nur im Code neue Namen bekommen, nicht in der Datenbank. Der Start legte die neue Spalte daraufhin leer daneben — die Einwilligung stand für alle wieder auf „nie gefragt", obwohl sie gespeichert war. Sie wird jetzt übernommen; eine zweite Spalte, die durch denselben Fehler gar nicht erst entstand, wird nachgelegt. (#917)
- •Ein Ingest mit neuem Code konnte den Datenbank-Start blockieren. Schrieb ein Lauf bereits die englische Schreibweise eines Werts, während die deutsche noch daneben lag, brach die Umschreibung beim nächsten Öffnen der Datenbank ab — auf dev starben daran Crons und Ingests. Jetzt weicht die alte Zeile der neuen, wenn beide denselben Schlüssel tragen. (#924)
- •Zwei Felder kamen in der App nicht mehr an. Die Vorlagenart auf der Beschluss-Seite und der Zeitraum der Bürgerbeteiligung hießen auf der Leitung inzwischen anders, als die App sie las — beide zeigten deshalb nichts. Behoben, samt Prüfung, die es künftig auffängt. (#887)
v1.15.0
2026-08-30Geändert
- •Die Abo-Seite ist jetzt eine Liste statt zweier. Abonnierte und offene Gremien standen getrennt untereinander — wer etwas abonnierte, sah es nach oben springen, und alles darunter verrutschte. Jetzt stehen alle Gremien in einer Liste, sortiert nach Alltagsbezug; dass etwas abonniert ist, sagt der Knopf, und die Reihenfolge ändert sich durch einen Klick nie. Beim Abonnieren läutet kurz eine Glocke — sie zeigt, was das Abo zusagt. Wer weniger Bewegung eingestellt hat, sieht sie nicht. Die Themen-Karte zählt jetzt ein halbes Jahr statt 30 Tagen. „0 in 30 Tagen" stand bei fast jedem Thema, auch bei sehr lebendigen: Die Gremien tagen monatlich, im Sommer gar nicht, und Protokolle kommen mit Verzug. Sechs Monate umfassen mehrere Sitzungsrunden und trennen wirklich Laufendes von Ruhendem. (#826)
- •Die E-Mails von Ratslotse sehen jetzt nach Ratslotse aus. Alle Mails — von der Bestätigung nach der Registrierung über Passwort-Reset und Einrichtungs-Erinnerung bis zu den Benachrichtigungen — teilen sich eine neue Hülle: weiße Karte auf hellem Grund, Hafenblau statt Fremdblau, und oben eine zum Anlass passende 3D-Lotti-Szene (winkende Lotti mit Küken zur Begrüßung, grübelnde Lotti unterm Fragezeichen beim Passwort, jubelnde Lotti mit Konfetti zur Freischaltung, lesende Lotti bei Neuigkeiten aus dem Rat …). (#827)
v1.14.0
2026-08-28Hinzugefügt
- •Der Haushalts-Wegweiser hat jetzt ein Gedächtnis — und Etappen. Die Liste der sechzehn Schritte auf der Haushalts-Übersicht war zur Wand geworden; jetzt sind es vier Etappen-Karten („Die Zahlen", „Die Gegenprobe", „Der Rahmen", „Mitreden"), auf dem Telefon ein Akkordeon, bei dem nur die aktuelle Etappe offen steht. Besuchte Seiten merkt sich der Browser (lokal, kein Konto nötig): Erledigte Etappen tragen ihr Häkchen, und ein Knopf „Weiter, wo du warst" springt zum ersten noch nicht gelesenen Schritt. Dazu vier Detail-Korrekturen aus dem Board-Review: Auf „Was steckt hinter den Namen?" sind Klartext und Zahlen jetzt EINE Zeile je Bereich (mit Balken, umschaltbarer Sortierung und nachgeschärften Erklärtexten — bei „Personal" steht jetzt dabei, dass dort nicht die Gehälter aller Beschäftigten stehen); auf „Muss oder kann?" tragen die Selbstauskunft der Stadt (◇) und unsere Zuordnung (●) je einen eigenen Marker, weil es zwei Quellen sind; die Produktsuche sagt bei null Treffern, was ähnlich klingt, und jedes Produkt trägt ein Abdeckungs-Badge („ohne 2019–2020"), weil nicht jedes Jahr jeden Teilhaushalt deckt; und im Haushalts-Labor klebt das Ergebnis auf dem Telefon jetzt unten über der Tab-Leiste — die Wirkung steht direkt unterm Daumen, statt oben ein Drittel des Schirms zu belegen. (#580)
- •Vier weitere Formen im Grafik-Baukasten. Der Gegenbalken (zwei 100-%-Leisten, die sich eine einzige Basis teilen — der Maßstabsfehler, bei dem ein Defizit-Haushalt ausgeglichen aussieht, ist damit technisch nicht mehr baubar), der Kassenzettel (der Bon rechnet seine Rundungszeile selbst, trägt den Teiler sichtbar unter dem Zettel und reist nie ohne seinen „Was diese Zahl nicht ist"-Kasten), der Wasserfall (Abzüge hängen an der Laufsumme, eine eingebaute Summenprobe meldet Rechenfehler der Seite, und das Ergebnis wird nie rot — Zuschussbedarf ist Daseinsvorsorge) und das verallgemeinerte Flussbild (bewusst kein Sankey: alle Kurven enden in der EINEN Kasse). Die Haushalts-Seiten benutzen sie bereits; für Leser ändert sich das Bild kaum, aber jede künftige Seite komponiert nur noch, statt zu zeichnen. (#580)
- •Wer wollte den Haushalt ändern — und kam damit durch? „Der Streit ums Geld" (
/haushalt/streit) trägt jetzt eine Verhandlungsbilanz als tragendes Bild: je Fraktion ein Punkt pro Abstimmung über eine Änderungsliste, Finanzausschuss und Rat getrennt, gefüllt heißt „fand eine Mehrheit". Bewusst ohne Erfolgsquote — eingebracht und abgelehnt ist parlamentarischer Alltag der Opposition, kein Zeugnis; die Reihenfolge ist alphabetisch, die Punktgröße für alle gleich. Wortbeiträge ohne Fraktion (Namensvettern in der Anwesenheitsliste) stehen als eigene, gezählte Karte da — es wird keine geraten. (#578) - •Ein Haushalt lebt länger als ein Jahr — der Strahl zeigt es. „Wann der Haushalt entschieden wird" (
/haushalt/jahr) ersetzt den Jahreskreis durch einen liegenden Zeitstrahl mit „Sie sind hier"-Pin: von der Einbringung über Ausschüsse und Ratsbeschluss bis zum Jahresabschluss, jede Station mit gezählter Angabe („in 7 von 8 Jahrgängen im Oktober") statt Behauptung. Auf dem Telefon kippt der Strahl senkrecht. Dazu eine Termin-Karte mit dem nächsten echten Termin von Finanzausschuss oder Rat aus dem Ratskalender — samt Kalender-Export und dem ehrlichen Hinweis, dass erst die Tagesordnung zeigt, ob dort der Haushalt aufgerufen wird. (#578) - •4.459 Vorhaben, durchsuchbar. „Was wird gebaut?" (
/haushalt/investitionen) endete bisher bei einer Liste je Bereich — jetzt trägt eine Kachelfläche die Übersicht: Jede Kachel ist ein Vorhaben, ihre Fläche die Gesamtsumme, ein Quadratmillimeter ist überall gleich viel Geld. Die Masse der kleinen Vorhaben steht ehrlich als eigene Kachel da, Suchtreffer heben sich per Umriss hervor, Jahrgang und Bereich lassen sich filtern. Zwei Kästen stehen bewusst, wo man sie braucht: „Wo sind die Schulen?" vor den Ergebnissen (Schulgebäude laufen beim Eigenbetrieb, nicht in diesem Programm) und „Planzahlen, keine Beschlüsse" bei den Zahlen. Auf dem Telefon ersetzt eine Rangliste die Kacheln — gleiche Daten, gleiche Reihenfolge, lesbare Beschriftung. (#577) - •Der Sprung bei der Grundsteuer, als Bild. Auf „Steht Oldenburg besser da?" (
/haushalt/vergleich) zeigt ein Vorher-nachher-Diagramm die Hebesätze aller acht kreisfreien Städte über die Reform 2025 hinweg — Oldenburg hervorgehoben, „unverändert" ausgeschrieben statt als flache Linie versteckt. Mitten im Bild steht der Bruch-Marker „ab 2025 neue Messbeträge": Über die Reform hinweg sind die Sätze nicht vergleichbar, und die Grafik sagt das selbst, statt es einer Fußnote zu überlassen. (#577) - •Was der Schuldenstand im Jahr kostet. Die Schuldenkurve (
/haushalt/schulden) trägt jetzt die Zinslast als dünne, gestrichelte zweite Linie im selben Bild und auf derselben Skala — dass sie fast auf der Nulllinie klebt, ist die Auskunft. Der auffälligste Knick der Reihe erklärt sich direkt im Bild: „2010: 108,9 Mio. umgebucht" — Kredite wanderten an einen Eigenbetrieb, kein Tilgungswunder. Die Ablesezeile zeigt Summe und Zins gemeinsam. (#577) - •Warum ein Bereich vom Plan abwich, steht jetzt an der Abweichung. Auf „Geplant und geworden" (
/haushalt/plan-ist) trägt jede Hantel-Zeile den Satz, mit dem der Jahresabschluss selbst die Abweichung erklärt — Wortlaut der Verwaltung, klar gekennzeichnet. Wo der Abschluss einen Bereich nicht erläutert, steht bewusst kein Satz: Erfunden wird nichts. Sortiert ist nach Größe der Abweichung, kleine Bereiche stehen hinter „alle zeigen", und die Achse sagt selbst, in welcher Einheit sie misst. (#577) - •Aus „18 %" wird ein zählbares Bild. Auf „Wer macht die Arbeit?" (
/haushalt/personal) steht der Stellenplan jetzt als Waffel: Ein Quadrat sind zehn Stellen, die unbesetzten tragen einen orangenen Umriss — samt dem Stichtag, zu dem gezählt wurde, denn die Besetzung wird immer ein Jahr versetzt erhoben. Daneben je Jahrgang ein Balkenpaar aus vorgehaltenen und besetzten Stellen; verrechnet wird weiterhin nichts, weil beide Zahlen zu verschiedenen Zeitpunkten gehören. Der Tarif-Jahrgang 2026, den das PDF der Stadt nicht lesbar hergibt, bleibt als beschriftete Lücke sichtbar stehen. (#576) - •22 Jahrgänge Bautätigkeit in einem Bild. „Was wurde davon wirklich gebaut?" (
/haushalt/gebaut) zeigte die zwei Rechnungswelten der Stadt bisher als zwei getrennte Diagramme — jetzt stehen alle Säulen von 2003 bis 2025 nebeneinander, und der Systemwechsel 2009/2010 ist als gestrichelte Naht im Bild: links die kamerale, rechts die doppische Welt, jede in eigenen Farben, nichts wird über die Naht hinweg verrechnet. 2019 steht als beschriftete Lücke im Bild, weil die Quelltabelle sich dort selbst widerspricht. Jedes Jahr lässt sich zeigen, tippen oder mit den Pfeiltasten ablesen — nach allen Auszahlungsarten getrennt. (#576) - •Ein Baukasten für alle Haushalts-Grafiken. Bisher brachte jede Grafik des Haushalts-Bereichs ihre eigenen Bausteine mit; jetzt gibt es ein gemeinsames Fundament (
components/grafik/), aus dem die kommenden Diagramme zusammengesetzt werden. Vier Teile stecken drin, weil sie überall gleich sein müssen: der Beleg-Chip an jeder Zahl, das Lücken-Feld („2019 — verworfen: 1,3 Mio. € Differenz im Dokument" — nie einklappbar), die Ableseleiste (zeigen, tippen oder Pfeiltasten; auf dem Telefon bleibt die Wertzeile jetzt beim Scrollen sichtbar) und die Einordnung — der Satz, der eine Zahl davor bewahrt, missverstanden zu werden, samt „Was diese Zahl nicht sagt". Die Geometrie rechnen ab jetzt vier kleine d3-Pakete, das Zeichnen bleibt eigenes SVG in unseren Farben. (#575) - •Jede Haushaltszahl sagt jetzt auch, wer sie beschlossen hat. Der kleine Beleg an einer Zahl nannte bisher das Dokument und die Stelle darin — „im Jahresabschluss 2024, Ergebnisrechnung der Kernverwaltung". Was fehlte, war der Schritt davor: Der Rat hat dieses Papier ja irgendwann beschlossen. Genau das steht nun daneben, mit Datum, Gremium und Vorlagennummer. Ausdrücklich auch dann, wenn noch nichts entschieden ist: Ein vertagter Vorgang ist keine Zahl ohne Beleg, sondern eine, bei der die Sache noch läuft — und das ist die interessantere Auskunft. Wo keine Vorlage im Bestand steht, bleibt die Zeile weg; ein erfundener Vorgang wäre der schlimmere Fehler. Das Ergebnis trägt keine Farbe, auch nicht bei „abgelehnt" — der Beleg-Apparat berichtet, er bewertet nicht. (#567)
- •Was wurde davon wirklich gebaut? Der Haushalts-Bereich zeigte bisher nur die Bau- und Kaufpläne der Stadt — was am Jahresende tatsächlich abgeflossen ist, stand nirgends. Die neue Seite
/haushalt/gebautzeigt es für die Jahre 2003 bis 2025, aufgeteilt danach, wofür das Geld ging: Baumaßnahmen, Grundstücke, Fahrzeuge und Geräte, Zuschüsse an Dritte. Zwei Dinge stehen dabei ausdrücklich dabei, weil die Zahl sonst mehr behauptet, als sie sagt. Erstens: Gezählt wird die Kernverwaltung — was der Eigenbetrieb Gebäudewirtschaft baut, und das ist seit 2010 ein großer Teil des städtischen Hochbaus, steht nicht darin. Zweitens: Für 2019 fehlt der Jahrgang. Die Stadt weist dort eine Summe aus, die ihre eigenen Einzelposten um 1,3 Mio. € verfehlen, und welche Zahl danebenliegt, sagt die Tabelle nicht — also steht das Jahr gar nicht da statt in geschätzter Höhe. Bewusst nicht gezeigt wird eine „Umsetzungsquote" aus Plan und Ist: Beide Zahlen sind verschieden abgegrenzt, keine Veröffentlichung der Stadt stellt sie nebeneinander, und der Prozentsatz stünde in keinem Dokument. Die Seite verlinkt stattdessen den Investitionsplan und erklärt den Unterschied. Auch „Frag den Rat" kennt die neuen Zahlen — mit derselben Regel im Gepäck. (#566) - •Der Haushalt sagt jetzt, welche Vorhaben hinter den Summen stehen. „Was wird gebaut?" endete bisher bei „Verkehr und Straßenbau: 10,5 Mio. €" — und die Seite musste selbst zugeben, dass sie die naheliegende Anschlussfrage nicht beantwortet. Das Investitionsprogramm des Haushaltsplans führt jedes Vorhaben einzeln auf; es lag die ganze Zeit im eigenen Anlagenbestand. Statt „Kultur, Museen, Sport: 19,4 Mio. €" stehen dort jetzt das Post-SV-Gelände mit seiner Skatehalle, zwei Kunstrasenplätze und der Sportplatz am Schweriner Weg — 4.459 Vorhaben aus acht Haushaltsjahrgängen, durchsuchbar, und von der Summe je Bereich in beide Richtungen verlinkt. Angegeben sind die Gesamtkosten eines Vorhabens über alle Jahre; wie viel davon in welchem Jahr fließen soll, steht im Plan zwar daneben, ließ sich aus dem Dokument aber nicht verlässlich auslesen, und deshalb zeigen wir es nicht. Ein Befund gehört ausdrücklich dazu: Schulgebäude stehen nicht darin. Sanierung und Neubau verantwortet der Eigenbetrieb Gebäudewirtschaft und Hochbau mit einem eigenen Wirtschaftsplan — die Seite sagt das, statt eine Antwort anzudeuten, die sie nicht hat. (#565)
- •„Frag den Rat" kennt den Haushalt jetzt ganz — und beantwortet vier Fragen nicht mehr aus der falschen Quelle. Der Haushalts-Bereich war auf dreizehn Datenschichten gewachsen, die KI-Frage kannte zehn davon. Die vier fehlenden wurden nicht etwa gar nicht beantwortet, sondern zum Teil falsch: „Wie viel Schulden hat Oldenburg?" bekam den Ergebnishaushalt — dabei sind Schulden ein Bestand am Stichtag und kommen dort überhaupt nicht vor. Investitions- fragen bekamen denselben Ergebnishaushalt, in dem keine einzige Investition steht (ein Schulneubau taucht dort nur als Abschreibung auf, verteilt über Jahrzehnte). Personalfragen bekamen Aufwendungen in Euro statt Stellen und Besetzungsgrad. Und „Wer wollte was am Haushalt ändern?" bekam nichts, obwohl 664 Änderungslisten im Bestand liegen. Jetzt zieht jede dieser Fragen ihre eigene Quelle — und nur die: Eine Schuldenfrage holt keinen Stellenplan mit. Jede Antwort bekommt dabei die Grenze mitgeliefert, ohne die die Zahl irreführt: bei den Schulden, was mitgezählt ist (Kernhaushalt und Eigenbetriebe, ohne die selbstständigen Beteiligungen); bei den Investitionen, dass Finanz- und Ergebnishaushalt zwei Zahlenwerke sind, die man nicht verrechnen darf; beim Stellenplan, dass sich die Besetzung auf das Vorjahr bezieht und „Stellen minus besetzt" zwei Stichtage mischt; und bei den Änderungslisten, dass die Ratsdaten sagen, wer etwas ändern wollte und ob es durchkam — nicht, was genau darin stand. Die „Gründliche Recherche" hing am alten Stand und bekommt jetzt denselben Kontext samt der Haushalts-Regeln, die ihr bislang ganz fehlten; umgekehrt zieht sie den Haushalt nicht mehr in jede Frage, die nur zufällig das Wort „Kosten" in ihren Suchbegriffen trug. (#563)
- •Ein Knopf, der die Finanzdaten sofort einliest, statt bis zu vierzehn Tage zu warten. Der Haushalts-Bereich hält sich selbst aktuell, aber für einen frisch gebauten Parser ist der Zwei-Wochen-Takt die falsche Wartezeit: Die Seite steht, die Tabelle ist leer, und niemand sieht, ob der Parser auf dem echten Bestand trägt. Der neue Ops-Lauf zieht den Cron vor und meldet hinterher, wie viele Zeilen je Schicht dastehen — und ob eine davon ohne Herkunftsnachweis durchgerutscht ist. Er zielt bewusst nur auf die Dev-Umgebung. (#556)
- •„Der Streit ums Geld" — der Haushalt zeigt jetzt auch, worüber gestritten wurde. Der Bereich führte bisher ausschließlich Zahlen: Plan, Ist, Produkte, Konzern, Prüfberichte. Dass über diese Zahlen politisch gerungen wurde, kam nicht vor — dabei ist ein Haushalt kein Rechenergebnis, sondern ein Kompromiss. Eine neue Seite zeigt je Haushaltsjahrgang 2019 bis 2026 drei Dinge: welche Änderungslisten die Fraktionen und Gruppen einbrachten und wie darüber abgestimmt wurde (im Finanzausschuss und im Rat getrennt, weil dieselbe Liste dort verschieden ausgehen kann), die Wortbeiträge der Debatte im Wortlaut des Protokolls — 134 über alle Jahrgänge —, und wie am Ende über die Haushaltssatzung entschieden wurde. Die Fraktion einer Rednerin kommt aus der Anwesenheitsliste derselben Sitzung, nicht aus einer gepflegten Liste: Fraktionen wandern, wer 2023 für Die Linke sprach, saß 2025 für das BSW. Ratsgruppen bleiben Gruppen („FDP/Volt", „Für Oldenburg"), statt auf eine Partei zusammengezogen zu werden. Alle Beiträge stehen in der Reihenfolge des Protokolls und sind auf dieselbe Länge gekürzt — eine Auswahl „der wichtigsten Stellen" träfe sonst jemand. Was nicht dabei steht, sagt die Seite selbst: der Inhalt der Änderungslisten (er liegt in Anlagen-PDFs, die nicht als Volltext vorliegen), das Stimmverhalten Einzelner (das Ratsinformationssystem kennt keins) und die Fraktion bei Namensgleichheit im Rat — eine geratene wäre schlimmer als eine fehlende. (#558)
- •„Wie viel Schulden hat Oldenburg?" — dreißig Jahre Schuldenstand, mit der Angabe, was mitgezählt ist. Eine der häufigsten Fragen an den Haushalt, und der Bereich konnte sie bisher nicht beantworten. Eine neue Seite zeigt die Zeitreihe seit 1995: Ende 2025 waren es 337,0 Mio. € oder 1.908 € je Einwohner\*in. Beides steht nebeneinander, weil es über dreißig Jahre in verschiedene Richtungen zeigt — insgesamt 35,5 Mio. € mehr als 1995, je Einwohner\*in 106 € weniger, denn die Stadt ist in derselben Zeit gewachsen. Direkt an der großen Zahl steht, was sie zählt: die Stadt als Rechtsträger, also mit ihren Eigenbetrieben und ohne die eigenständigen Gesellschaften. Bei Schulden ist das der Unterschied zwischen zwei Antworten, die beide „die Schulden der Stadt" heißen. Die zwei größten Sprünge der Reihe erklärt die Seite im Text, statt sie einer Farbe zu überlassen: 2001 fiel die Schuld um mehr als die Hälfte, weil die Stadtentwässerung samt Darlehen an einen Verband ging, und 2010 wechselten 108,9 Mio. € nur die Spalte, als die Stadt einen Eigenbetrieb gründete. Für 2022 fehlt die Aufteilung nach Schuldenarten — sie geht in der Quelle selbst nicht auf; die Gesamtschuld des Jahres steht trotzdem, weil sie sich gegen die Einwohnerzahlen der Stadt nachrechnen lässt. Quelle ist Tabelle 1108 des Statistischen Jahrbuchs. (#550)
- •„Wer macht die Arbeit?" — der Stellenplan im Haushalts-Bereich. Personal ist der größte Ausgabenblock der Stadt, aber bisher zeigte der Bereich nur Euro und nicht, wie viele Menschen dahinterstehen. Eine neue Seite liest den Stellenplan aus, den der Rat mit jedem Haushalt beschließt: 2023 waren es 717 Beamtenstellen, für 2026 sind es 815; dazu rund 1.700 Stellen für Tarifbeschäftigte. Die eigentliche Zahl steht daneben — rund jede sechste bis fünfte Stelle war am Stichtag nicht besetzt (18,1 % der Beamtenstellen zum 30. Juni 2025). Das erklärt eine Zeile, die im Jahresabschluss sonst wie ein Sparerfolg aussieht: Bleiben die Personalausgaben unter dem Plan, hat die Stadt das Geld nicht gespart, sondern die Leute nicht gefunden. Die Seite bewertet das nicht — sie sagt, was der Plan sagt, und wo seine Grenzen sind: Stellen sind keine Menschen, es ist nur die Kernverwaltung, und die Besetzung bezieht sich auf das Jahr vor dem Plan. Für 2026 fehlen die Tarifbeschäftigten und die Seite sagt auch das: Diese Seiten des PDFs geben keine Buchstaben aus, und geraten wird nicht. (#551)
- •„Was machen die eigentlich?" — die städtischen Gesellschaften einzeln. Der Haushalts-Bereich zeigte bisher, wie viel Klinikum, Busse und Bäder bewegen, aber nicht, was sie tun. Eine neue Seite stellt jede städtische Gesellschaft vor: ihren Auftrag im Wortlaut, wem sie gehört, wer im Aufsichtsrat oder Betriebsausschuss sitzt, woran sie selbst beteiligt ist und was sie für den Haushalt bedeutet — dazu Jahresergebnis, Bilanzsumme und Eigenkapitalquote von 2017 bis 2024. Die Angaben stammen aus den Beteiligungsberichten der Stadt (§ 151 NKomVG), die ein neuer Cron seit jetzt selbst von oldenburg.de holt. Eine Kennzahl kommt nur in den Bestand, wenn der Bericht sie belegt: Die Bilanz muss aufgehen, die Gewinn- und Verlustrechnung dieselbe Zahl nennen, oder ein zweiter Bericht sie bestätigen — was keine Probe trägt, wird verworfen statt geschätzt. Die beschreibenden Abschnitte sind Text der Verwaltung und stehen ausdrücklich ungeprüft da. Was der Bericht nicht hergibt, steht als eigener Abschnitt auf der Seite: Er kommt zwei Jahre später, ein Jahresergebnis von 0 € heißt nicht „nichts verdient" (mehrere Betriebe führen ihr Ergebnis ab), und die Jahrgänge vor 2022 sind anders aufgebaut. (#555)
- •„Was wird gebaut?" — der Haushalts-Bereich zeigt jetzt auch die Investitionen. Bisher stand dort ausschließlich der laufende Betrieb: Personal, Zuschüsse, Energie, Mieten. Neubauten, Fahrzeuge und Grundstücke haben einen eigenen Haushalt, und der kam schlicht nicht vor — ein Schulneubau tauchte nur als Abschreibung auf, verteilt über Jahrzehnte, lange nachdem gebaut wurde. Eine neue Seite zeigt für 2022 bis 2025, was die Stadt sich vorgenommen hat: 2025 sind das 80,8 Mio. € Auszahlungen, davon 39,7 Mio. € durch Zuschüsse, Verkäufe und Beiträge gedeckt — 9,5 % des gesamten Finanzhaushalts. Dazu, in welchen Bereichen das Geld liegt, und was zurückfließt. Übernommen wird ein Jahrgang nur, wenn die Rechnung der Datei aufgeht: Die Teilhaushalte müssen die Summenzeile ergeben, in beiden Spalten. Was diese Zahlen nicht sagen, steht als eigener Abschnitt auf der Seite — einzelne Vorhaben nennt die Quelle nicht („Verkehr und Straßenbau: 10,5 Mio. €", nicht welche Straße), es sind Planzahlen, und sie enden 2025, weil die Stadt den Datensatz erst im Folgejahr veröffentlicht. (#547)
- •„Und ist das die ganze Stadt?" — der Haushalt zeigt jetzt auch, was neben ihm läuft. Klinikum, Busse, Bäder und die städtischen Gebäude führen eigene Bücher; im Haushalt tauchen sie bestenfalls als Zuschusszeile auf. Eine neue Seite stellt beides nebeneinander: 2024 bewegt die Verwaltung 799 Mio. €, die Stadt mit allen Betrieben und Beteiligungen 1.242 Mio. € — der Haushalts- Bereich zeigte bis jetzt also rund zwei Drittel. Dazu über elf Jahre, wer wie viel beiträgt, und eine Erklärung, warum die Geschäfte der Betriebe untereinander wieder herausgerechnet werden. Die Zahlen stammen aus den geprüften Gesamtabschlüssen der Stadt; übernommen wird ein Jahrgang nur, wenn die Rechnungen des Dokuments aufgehen. Was der Vergleich nicht kann, steht als eigener Abschnitt auf der Seite: Ein Gesamtabschluss ist kein Haushalt, er kommt zwei Jahre später, und verrechnen lässt sich beides nicht. (#514)
- •Jede Haushalts-Zahl hält jetzt fest, woher sie stammt — auf den Abschnitt genau. Bisher stand an einer gespeicherten Zahl bestenfalls eine URL, und bei einem 300-seitigen Jahresabschluss ist das zu wenig: Man sah nicht, an welcher Stelle des Dokuments sie steht und womit sie abgesichert ist. Zu jeder Zeile gehört jetzt ein Herkunfts-Eintrag mit dem Dokument, der Fundstelle darin („Abschnitt 6.3.1 — Erläuterungen zu den Abweichungen"), der bestandenen Rechenprobe samt Messwert („0,00 % Abweichung zur Gesamtrechnung") und dem Stichtag. Wo eine Quelle gar keine Rechenprobe mitbringt — die Steuer-Datensätze des Open-Data-Portals etwa —, steht das jetzt ausdrücklich da, statt offenzubleiben. Bestehende Zahlen ändern sich dadurch nicht; was der alte Bestand nicht festhielt, bleibt leer, statt geraten zu werden, und wird beim nächsten Einlesen nachgetragen. (#513)
- •Der Haushalts-Bereich hält sich ab jetzt selbst aktuell. Bisher wurde jeder neue Jahrgang von Hand eingelesen — wer nicht daran dachte, ließ den ganzen Bereich still veralten. Ein neuer Job sieht alle zwei Wochen nach, ob für eine fehlende Jahreszahl inzwischen ein Dokument im Ratsinformationssystem liegt, und liest es ein: Jahresabschluss, Teilhaushalts-Pläne und die Berichte des Rechnungsprüfungsamts. Er richtet sich dabei nach dem Bestand, nicht nach dem Kalender — eine verspätete Veröffentlichung oder ein Nachtragshaushalt wird eingesammelt, sobald sie da ist. Bleibt ein erwarteter Jahrgang vier Wochen über seinen üblichen Monat hinaus aus, gibt es eine Nachricht statt eines stillen Stillstands — ebenso, wenn ein Dokument vorliegt, aber nicht gelesen werden kann. (#511)
- •Halbe Jahrgänge werden vollständig, sobald die Unterlagen da sind. Die Zahlen eines Jahres kommen nicht auf einmal: Die Produktebene steckt in rund neun einzelnen Dokumenten, und die werden nacheinander lesbar. Wir tragen jetzt jedes Stück für sich nach, statt ein Jahr für erledigt zu halten, sobald das erste Dokument gelesen ist. Auf der Seite steht außerdem, wenn ein Jahrgang noch unvollständig ist („Für 2023 haben wir 6 von 9 Teilhaushalten") — vorher sah ein halbes Jahr aus wie ein ganzes. (#511)
- •„Bis wann die Zahlen reichen" — der Datenstand steht jetzt auf der Seite. Am Fuß von
/haushaltsteht, wie weit jede Datenschicht reicht und was als Nächstes erwartet wird: „Der Jahrgang 2025 wird üblicherweise im September 2026 vorgelegt." Damit beantwortet sich die Frage „warum steht hier 2024 und nicht 2025?" an einer Stelle, statt auf neun Seiten einzeln. Der Grund liegt bei der Stadt: Den Plan legt sie im Herbst für das kommende Jahr vor, die Abrechnung erst ein knappes Jahr nach dessen Ende. (#511) - •„Geplant und geworden" reicht jetzt bis 2017 — und sagt, warum. Bisher waren fünf Jahrgänge zu sehen; 2017, 2018 und 2020 fehlten, weil ihre Tabellen im Jahresabschluss anders aufgebaut sind. Der Parser liest die Spalten jetzt aus dem Tabellenkopf statt aus einer festen Reihenfolge und schafft damit alle acht Jahrgänge; 2022 bekommt außerdem seine zwölf Teilhaushalte zurück. Neu ist auch das *Warum*: Zu jeder erheblichen Abweichung steht die Begründung der Verwaltung aus dem Jahresabschluss daneben — etwa, dass die Mehreinnahmen 2024 fast vollständig aus der Gewerbesteuer stammen und einen Einmaleffekt enthalten. Je Jahrgang gibt es dazu den Verweis auf den Schlussbericht des Rechnungsprüfungsamts. (#510)
- •Die Seite sagt jetzt, was „geplant" in einem Jahr bedeutet. Das ist nicht überall dasselbe: 2020 vergleicht der Jahresabschluss mit dem Ansatz einschließlich Corona-Nachtrag, 2018 mit der Gesamtermächtigung. Bei den Ausgaben 2020 sind das 27 Mio. € Unterschied — also der Unterschied zwischen „21,5 Mio. weniger ausgegeben als geplant" und „5,7 Mio. mehr". Beide Werte stehen jetzt in der Datenbank, die Seite schreibt die Bezugsgröße an, und in der Mehrjahres-Kurve tragen die betroffenen Jahre eine Fußnote. (#510)
- •Das Flussbild: woher das Geld kommt, wohin es geht — und was dazwischen liegt. Auf der Haushalts-Übersicht steht jetzt ein Bild, das links die Einnahmearten (Steuern, Zuwendungen, Gebühren …) und rechts die Bereiche zeigt. Dazwischen liegt ein einziger Knoten: die Stadtkasse. Kein Band führt von links nach rechts durch, und das ist der Punkt — im kommunalen Haushalt gehört keine Einnahme zu einer bestimmten Ausgabe, alles fließt erst zusammen und wird dann verteilt. Bandbreiten links und rechts liegen auf derselben Skala; ein Minus erscheint als eigenes Band „aus dem Ersparten", statt die kürzere Seite auf Länge zu ziehen. Kleine Posten sammeln sich in „weitere" und lassen sich aufklappen, alle Zahlen stehen unter „Zahlen anzeigen". Auf dem Handy werden daraus zwei Listen statt geschrumpfter Bänder. Für Jahre ohne Jahresabschluss sagt das Bild, welches Jahr es stattdessen zeigt — und wenn die Einzelposten die ausgewiesene Summe nicht tragen, erscheint gar keine Grafik, sondern der Hinweis darauf. (#505)
- •„Was kostet eigentlich …?" — der Haushalt, aufgeschlüsselt bis zur einzelnen Aufgabe. Die häufigste Frage zum Haushalt ist keine nach Teilhaushalten, sondern nach einer konkreten Sache: dem Stadtarchiv, der Feuerwehr, dem Schwimmbad. Die neue Seite durchsucht 63 Aufgaben des Haushaltsjahres 2023 nach Name, Nummer, Amt und Beschreibung, filtert nach Amt und Spielraum und öffnet zu jeder einen Steckbrief: was sie kostet, was dahintersteckt, für wen sie da ist — und auf welchen Gesetzen sie beruht. Die Archivierung etwa kostet die Stadt 421 Tsd. € im Jahr und beruht unter anderem auf dem Bundesarchivgesetz und einem Vertrag mit dem Landesarchiv. Neu ist dabei vor allem die Selbstauskunft der Stadt, wie viel Spielraum sie bei einer Aufgabe überhaupt hat: Bei 35 der 63 Aufgaben ist es „kaum" — das macht aus einer Zahl eine Antwort darauf, worüber der Rat streiten kann und worüber nicht. Alle Angaben stammen wörtlich aus den Teilhaushaltsplänen; wo der Plan ein Feld leer lässt, steht auch bei uns nichts. (#504)
- •„Was das Rechnungsprüfungsamt beanstandet" — die Prüfung des Haushalts, zum ersten Mal lesbar. Jeder Jahresabschluss der Stadt wird geprüft, und zwar von einer Stelle, die dem Rat berichtet und nicht der Verwaltungsspitze. Ihre Schlussberichte hängen als PDF an einer Ratsvorlage und werden dort nie wieder gelesen. Die neue Seite
/haushalt/pruefungführt ihre 257 Feststellungen aus den Jahrgängen 2017–2023 einzeln auf — im Wortlaut, mit Textziffer, Seite und Deeplink ins Originaldokument. Die Randmarken des Berichts werden erklärt, nicht bewertet: Die große Mehrheit (166) sind Hinweise, 42 sind Beanstandungen, 37 wiederholte. Ein eigener Block zeigt, was über Jahre offen blieb — den Plan-Ist-Vergleich etwa beanstandet das Amt in allen sieben geprüften Jahren, zuletzt mit dem Satz „Dies widerspricht dem Grundsatz der Haushaltswahrheit". Wo die Verwaltung im Bericht direkt geantwortet hat, steht die Antwort daneben. Keine Bewertungsfarben, wie überall im Haushalts-Bereich. Für 2024 fehlt der Bericht: Sein PDF bringt keine Zeichenzuordnung mit, und eine zweite Kopie gibt es nicht — das steht auf der Seite, statt überspielt zu werden. (#509) - •„Geplant und geworden" — was aus dem Haushalt wirklich wurde. Ein Haushalt ist ein Plan; was am Jahresende zusammenkam, stand bisher nirgends. Die neue Seite stellt beides nebeneinander — für die Stadt insgesamt und für jeden Bereich einzeln. 2024 etwa nahm Oldenburg 799 Mio. € ein statt der geplanten 694, vor allem durch Steuern; aus einem geplanten Minus von 34 Mio. wurde ein Überschuss von 35. Auf den Bereichsseiten steht die Entwicklung über alle abgeschlossenen Jahre. Farben bewerten dabei nichts: Mehr ausgegeben kann ein Tarifabschluss sein, weniger ausgegeben heißt oft, dass etwas nicht gebaut wurde. (#502)
- •„Steht Oldenburg besser da als Osnabrück?" — eine neue Seite beantwortet die Frage, so weit sie sich seriös beantworten lässt, und erklärt den Rest. Bei der Steuerkraft geht es: Oldenburg liegt mit 1.974 € je Einwohnerin an der Spitze aller acht kreisfreien Städte Niedersachsens, vor Osnabrück (1.651), Braunschweig (1.518) und Delmenhorst (949). Dazu die Hebesätze — auf denselben Messbetrag zahlt man in Braunschweig 750 statt 539 Prozent — und die Steuereinnahmekraft über drei Jahre, an der sich zeigt, was eine hohe Gewerbesteuer kosten kann: In Wolfsburg fiel sie um 30 Prozent, während sie in Oldenburg um 22 Prozent stieg. Alle Zahlen kommen aus zwei Tabellen des Landesamts für Statistik, also für jede Gemeinde nach derselben Vorschrift gerechnet. Ausgaben, Personal und Schulden je Einwohner stehen bewusst nicht dort, und die Seite sagt auch, warum: Solche Zahlen messen zuerst, wie weit eine Stadt ausgelagert hat — in Oldenburgs Haushalt stehen rund 64 Prozent dessen, was die Stadt insgesamt bewegt, in Osnabrücks knapp 48. Die Stadt Oldenburg hat diesen Vergleich 2018 auf Antrag der FDP-Fraktion selbst angestellt und im selben Dokument festgestellt, dass er nichts aussagt; die Seite zitiert sie wörtlich und verlinkt den Vorgang im Ratsinformationssystem. (#516)
- •Der abgelehnte Hebesatz-Vorschlag hat jetzt ein Bild. Auf dem Steuer-Steckbrief der Gewerbesteuer stand bisher nur der Satz „Die Verwaltung schlug vor, die Hebesätze zu erhöhen. Der Rat lehnte ab." Daneben steht jetzt der geltende Hebesatz als Balken, und das Stück, das der Rat nicht beschlossen hat, hängt schraffiert hinten dran — mit der vorgeschlagenen Höhe aus § 5 der Haushaltssatzung und dem Überschlag, was es im Jahr gebracht hätte. Nennt die Satzung keinen abweichenden Satz, zeigt die Grafik keine Höhe und sagt das. (#710)
- •Gescannte Ratsunterlagen werden jetzt gelesen. Rund 235 Anlagen im Ratsinformationssystem sind reine Scans — Bilder ohne Textebene, aus denen bisher nichts zu holen war. Darunter die Wirtschaftspläne des Abfallwirtschaftsbetriebs von 2019 bis 2021. Ein neuer Lauf schickt jede Seite an ein Sehmodell und legt den Text ab. Beim ersten Durchgang gingen 62 von 66 Rechenproben auf den Cent auf; die vier übrigen wichen um genau einen Euro ab — ein zweites, unabhängiges Modell las dieselben Zahlen, der Rundungsfehler steht also im Dokument der Stadt. Der Text ist dabei bewusst nicht in die Suche aufgenommen: Ein Teil dieser Scans sind Förderanträge von Vereinen mit Namen, Anschriften und Unterschriften darauf. Sie liegen im Bürgerinfo zwar öffentlich, sollen durch uns aber nicht nebenbei durchsuchbar werden. (#669)
- •Was aus den Investitionen wird — und dass der Bestand trotzdem schrumpft. Auf „Was gebaut wurde" steht jetzt neben dem, was die Stadt im Jahr zubaut, was im selben Jahr an Wert verloren geht. Beim Infrastrukturvermögen — Straßen, Brücken, Kanäle — kommen 2024 auf jeden zugebauten Euro 3,1 Euro Abschreibung. Allein die Straßen, Wege und Plätze sanken von 151,9 auf 133,3 Millionen Euro; der Jahresabschluss nennt das selbst einen Substanzverlust. (#626)
- •Beschlüsse zeigen jetzt, wo sie im Haushalt wieder auftauchen. Wer eine Nachbewilligung oder eine Bürgschaft aufschlägt, findet dort einen Weg zu der Stelle im Haushalts-Bereich, an der genau diese Entscheidung mitzählt. Der Verweis erscheint nur, wo eine echte Verknüpfung ihn deckt — nicht als Satz, der an jedem Beschluss gleich stünde. (#632)
- •Wer die städtischen Betriebe beaufsichtigt, steht jetzt mit seiner Funktion im Personenverzeichnis. Die Aufsichtsorgane der städtischen Gesellschaften sind nicht nur Ratsmitglieder: In den Gemeinschaftsgesellschaften mit dem Landkreis sitzen Landrätin, Kreisrätin und Kreistagsmitglieder, in den Betrieben Beschäftigtenvertretungen, Betriebsräte und Vertretungen der Mitgesellschafter, Universität und Hochschule. 41 dieser Personen kamen in keiner Anwesenheitsliste des Stadtrats vor und standen deshalb namenlos da; sie tragen nun ihr Amt aus dem Beteiligungsbericht und die Berichtsjahrgänge, in denen sie vorkommen — mehr sagt die Quelle nicht, und mehr behaupten wir auch nicht. Keine Partei, kein Stimmverhalten, keine Gehälter. Zwei Ratsmitglieder finden dabei ihre Personen-Seite zurück: Der Bericht schreibt „Claudia Oeljeschleger" und „Jens Lükerman", das Verzeichnis kennt sie mit „ä" und mit zwei „n". Solche Druckfehler werden geheilt, wo der Bericht selbst „Ratsmitglied" sagt, der Vorname exakt stimmt und der Nachname um höchstens einen Buchstaben abweicht — und wo mehr als eine Person infrage kommt, ausdrücklich nicht. Umgekehrt führen sechs Namen im Beteiligungs-Steckbrief nicht mehr ins Leere: Verwaltungsleute haben keine Personen-Seite — auch der Oberbürgermeister nicht, der qua Amt in fast jedem Aufsichtsrat sitzt —, und ihre Namen wurden bis jetzt trotzdem verlinkt. (#588)
- •Was die Abfallgebühren tragen soll, steht jetzt im Bestand. Neben dem Eigenbetrieb Gebäudewirtschaft liest der Haushalts-Bereich jetzt auch den Erfolgsplan des Abfallwirtschaftsbetriebs — den Plan also, aus dem die Stadt ihre Abfallgebühren kalkuliert: für 2026 rund 26,7 Millionen Euro Erträge und 26,0 Millionen Euro Aufwendungen. Vier Jahrgänge (2023 bis 2026) sind gelesen und dreifach geprüft, unter anderem gegen einen Satz, den das Dokument unter seine eigene Tabelle setzt. Drei ältere Jahrgänge bleiben außen vor: Ihre Anlagen sind eingescannt und tragen keinen lesbaren Text — sie sind als solche vermerkt, falls sich das später ändern lässt. (#666)
- •Der Bäderbetrieb erklärt jetzt seine Null — und zeigt, was wirklich im Plan steht. Auf „Der Haushalt neben dem Haushalt" stand bei ihm in jedem Jahrgang ein Jahresergebnis von 0,0 Mio. €, daneben zwei Striche und sonst nichts. Die Null stimmt: Alle sieben Beschlusstexte schreiben wörtlich „schließt mit einem geplanten Jahresfehlbetrag in Höhe von 0,00 EUR ab" — der Betrieb hat seit 2005 kein operatives Geschäft mehr, sondern verpachtet sein Vermögen an die Bäderbetriebsgesellschaft, und die Pacht ist so angesetzt, dass sie die Kosten genau deckt. Nur sah man der Karte nicht an, dass das Absicht ist und keine fehlende Zahl. Jetzt steht der Satz dabei — und darunter die Summe, um die es in diesem Plan tatsächlich geht: 10,8 Mio. € Investitionen im Vermögensplan 2026. Übernommen wird sie nur, wenn der Beschlusstext seine eigene Rechnung erfüllt (Kreditaufnahme plus eigene Mittel ergeben die Summe) — und ausdrücklich nicht aus Anpassungs-Vorlagen, die den *ursprünglichen* Plan zitieren, bevor sie ihn ändern. (#692)
- •Beschlüsse lassen sich nach ihrem Ortsbezug filtern. Die Beschluss-Suche lässt sich nach dem geokodierten Oldenburger Ortsbereich eines Ortsbezugs filtern. Gefilterte Treffer zeigen den konkreten Ort und die zugrunde liegende Fundstelle, damit die Zuordnung direkt prüfbar ist. (#769)
- •Wer die städtischen Gesellschaften beaufsichtigt — und wem sie gehören. Die Steckbriefe unter „Beteiligungen" kippten bisher fünf Rohtext-Abschnitte am Stück aus; zwei davon waren in Wahrheit Tabellen. Aufsichtsräte und Betriebsausschüsse stehen jetzt Person für Person da, mit Gremium, Vorsitz, Amtszeit und — wo das Personenverzeichnis die Person eindeutig kennt — einem Link auf ihre Seite. Daneben die Eigentümer mit Anteil in Euro und Prozent. Ein Amt steht nur dort, wo der Bericht es nachweislich der richtigen Person zuordnet: Führt er mehr Namen als Ämter, bleiben die Ämter dieser Gesellschaft leer, statt einer echten Person das falsche anzuhängen. (#587)
- •Beteiligungen als Konzernkarte, Prüfung als Wiederholungs-Matrix. Die Konzernkarte zeigt, wer zur Stadt gehört und in welcher Rechtsform; die Gesellschafts-Karten tragen Kennzahl-Zeitreihen 2017–2024. Die Prüfungs-Seite zeigt, welche Feststellungen des Rechnungsprüfungsamts sich über Jahre wiederholen — 37 von 257, als Ketten sichtbar. (#581)
- •Wie viel einer Gesellschaft der Stadt gehört, steht jetzt dabei. Auf der Konzernkarte und an jeder Gesellschafts-Karte erscheint der Anteil der Stadt Oldenburg — 100 % beim Klinikum, 74 % bei der VWG, 34,5 % bei der GSG. Wo die Stadt weniger als die Hälfte hält, trägt das Formzeichen einen offenen Ring. Nennt der Bericht für eine Einheit keine Anteilseigner, steht dort auch keine Zahl. (#595)
- •Die größte Verpflichtung der Stadt ist kein Kredit. Die Schuldenseite zeigte bisher nur, was Oldenburg an Krediten aufgenommen hat — 43,7 Mio. € zum Jahresende 2024, wenig für eine Stadt dieser Größe. Die naheliegende Anschlussfrage („dann hat sie ja keine Schulden?") beantwortet erst die Bilanz, und die Antwort steht jetzt unter der Kurve: 311,8 Mio. € hat die Stadt für Pensionen und Beihilfe ihrer Beamt*innen zurückgestellt, das Siebenfache der Kredite. Das ist kein Missstand — genau dafür bildet man Rückstellungen —, es ist nur der größere Posten. Dazu die Bilanz als Ganzes: 1.480,0 Mio. € zum 31.12.2024, aufgeteilt in „worin das Vermögen steckt" und „wem es zusteht". Neun Stichtage, 2016 bis 2024. Wo zwei Zahlen kursieren, die beide „die Pensionsrückstellungen" heißen, steht jetzt dabei, welche welche ist: 266,3 Mio. € sind die Pensionen allein, 45,5 Mio. € die Beihilfe, zusammen die 311,8. Und wo die Bilanz 2024 plötzlich 207,1 statt 84,4 Mio. € Schulden ausweist, steht der Grund im Wortlaut der Verwaltung daneben — eine Buchungsumstellung beim Cash-Pooling, keine neuen Schulden. (#602)
- •Wofür die Stadt geradesteht — neben dem, was sie schuldet. Auf der Schulden-Seite steht jetzt der Bürgschaftsbestand aus den Jahresabschlüssen: Ende 2024 waren es 220,3 Millionen Euro, das Fünffache der eigenen Schulden von 43,7 Millionen. Eine Bürgschaft ist keine Schuld — die Stadt zahlt nur, wenn die verbürgte Gesellschaft es nicht kann; für diesen Fall stehen 1,3 Millionen in der Bilanz. Der Sprung 2022 steht mit der Begründung der Stadt dabei: die Übernahme von Bürgschaften für das Klinikum über 135,9 Millionen Euro. Sechs Jahrgänge, jeder mit der Angabe, wie genau die Quelle ihn belegt. (#619)
- •Was der Rat zu den Bürgschaften beschlossen hat, jetzt als Liste. Unter den Schulden steht die Chronologie der 21 Vorlagen — mit einem Vermerk an denen, die eine bestehende Bürgschaft nur verlängern oder anpassen. Bewusst ohne Beträge und ohne Summe: Diese Beschlüsse schreiben einander fort, statt sich zu addieren. (#632)
- •Warum man über Oldenburgs Schulden drei Zahlen hört — und alle drei stimmen. 43,7 Millionen sind die Investitionskredite der Verwaltung selbst, 294,9 Millionen die Stadt mit ihren Eigenbetrieben, 740,3 Millionen der ganze „Konzern Stadt" samt Beteiligungen. Die Schulden-Seite stellt sie jetzt nebeneinander und sagt zu jeder, was sie mitzählt. Bei der größten steht dabei, dass 59 Prozent davon aus Unternehmen stammen, an denen die Stadt weniger als die Hälfte hält — für deren Schulden haftet sie nicht. Und dass daraus keine Zeitreihe werden darf, weil sich der Kreis der mitgerechneten Unternehmen von Ausgabe zu Ausgabe ändert. (#619)
- •Woher das Geld im laufenden Haushaltsjahr kommen soll. Für Jahre ohne Jahresabschluss ließ sich der Geldfluss bisher nicht zeigen — dort stand nur der Hinweis, dass ein vollständiges Bild fehlt. Jetzt steht dort die eine Seite, die es gibt: die Ertragsarten des Haushaltsplans als Rangliste, von den Steuern bis zu den Eigenleistungen. Sie gibt sich ausdrücklich als halbes Bild zu erkennen — die Ausgabenseite steht im Plan in einer anderen Rechnung, und ein Bild aus beiden würde zwei Stände vermischen. Dazu nennt der Block den Abstand zur Kernzahl oben auf derselben Seite und wo er herkommt: Die Rangliste zeigt den Entwurf der Verwaltung, die Anzeigetafel den beschlossenen Plan. (#662)
- •Neben dem Jahresergebnis steht jetzt, was wirklich geflossen ist. Für 2024 wies der Jahresabschluss einen Überschuss aus — und im selben Heft, dreißig Seiten weiter, 22,4 Mio. € weniger Geld in der Kasse als am Jahresanfang. Beides stimmt: Abschreibungen mindern das Ergebnis, ohne dass jemand etwas überweist, und ein Neubau kostet sofort Geld, im Ergebnis aber erst über die Jahre. Bisher zeigte „Geplant und geworden" nur die erste Zahl. Jetzt steht die Finanzrechnung der Kernverwaltung daneben, mit der Rechnung, die das Dokument selbst führt: was aus laufender Arbeit übrig blieb, was für Investitionen abfloss, was am Ende in der Kasse lag. Dazu die Ermächtigungen aus Vorjahren — 2024 waren das 58,8 Mio. € bewilligtes Geld für Vorhaben, die noch nicht fertig sind, und damit die Antwort auf die Frage, warum das Geplante nicht gebaut wird. Acht Jahrgänge, 2017 bis 2024; jede Zahl hängt an der Rechenkaskade, die die Tabelle selbst vorrechnet. (#600)
- •Neue Seite: Was Sie dafür zahlen. Sie zeigt, wie die Abfall- und Straßenreinigungsgebühren zustande kommen — nicht nur das Ergebnis, sondern die ganze Rechnung: was der Bereich kostet, was davon Dritte tragen oder aus Vorjahren ausgeglichen wird, und was übrig bleibt, geteilt durch die Abfallmenge beziehungsweise die gebührenpflichtige Fläche. Dazu der Verlauf der letzten Jahre. Bei der Abfallsammlung steht ausdrücklich, dass es dort keine einzelne Gebühr gibt — sie wird über eine Grundgebühr und eine Gebühr je Liter abgerechnet. (#683)
- •Der Steckbrief „Gebühren und Beiträge" zeigt jetzt Zahlen. Er sagte bisher, keiner der offenen Datensätze führe diese Einnahme — und das stimmte auch, für die Steuerreihen. Der Jahresabschluss führt sie sehr wohl: 25,9 Mio. € waren es 2024, gut 3 % aller ordentlichen Erträge. Dazu die Reihe seit 2017, in der man die Corona-Jahre sieht (2021 blieben fast 3 Mio. € hinter dem Ansatz), der Vergleich von Ansatz und Ergebnis je Jahr — und die Aufschlüsselung nach Bereichen, die die eigentliche Frage beantwortet: Wofür zahlen die Leute? Das meiste kommt aus Sicherheit und Ordnung (7,5 Mio. €), aus Verkehr und Straßenbau (6,0 Mio. €) und aus Jugend und Familie (5,9 Mio. €, dort stecken die Kita-Beiträge). Die Müllgebühr steht ausdrücklich nicht darin: Sie läuft über den Abfallwirtschaftsbetrieb, und den zählt der Abschluss der Kernverwaltung nicht mit — wo ihre Rechnung steht, sagt die Seite jetzt auch. Auf der Übersicht „Woher das Geld kommt" trug dieselbe Karte bis dahin „Betrag noch nicht eingelesen"; sie zeigt die Zahl nun ebenfalls. (#712)
- •Warum die Müllabfuhr kostet, was sie kostet. Jedes Jahr legt der Abfallwirtschaftsbetrieb dem Rat vor, wie die Abfall- und Straßenreinigungsgebühren zustande kommen: was der Bereich insgesamt kostet, was davon Dritte tragen, was aus Vorjahren ausgeglichen wird — und was übrig bleibt, geteilt durch die Abfallmenge beziehungsweise die gebührenpflichtige Fläche. Vier Jahrgänge stehen jetzt im Bestand, jede Zahl doppelt nachgerechnet. Man sieht darin zum Beispiel, dass die Gebühr je Tonne Abfall von 123 € (2023) auf 151 € (2026) gestiegen ist — und woraus dieser Anstieg besteht. (#683)
- •Wo ein Gesetz genannt wird, führt jetzt ein Weg hin. Auf den Steuer-Steckbriefen steht neben jeder Rechtsgrundlage ein kleines Waage-Zeichen. Ein Klick erklärt in zwei Sätzen, was dort geregelt ist — beim Hebesatz etwa, dass die Stadt ihn beschließen darf, aber für alle Betriebe gleich —, und führt von dort zum amtlichen Volltext: Bundesrecht beim Bundesamt für Justiz, Landesrecht im niedersächsischen Vorschrifteninformationssystem. Dabei steht auch, welche Ebene das Gesetz gemacht hat, denn davon hängt ab, wer es ändern könnte. (#736)
- •Wie viele Betriebe die Gewerbesteuer aufbringen, steht jetzt da. Der Block „Wer zahlt das eigentlich" auf dem Steuer-Steckbrief erklärte bisher nur, warum niemand Namen nennen darf. Die Anschlussfrage beantwortet er jetzt mit Zahlen des Landesamts für Statistik: 8.421 Betriebe und Betriebsstätten sind in Oldenburg erfasst, 3.642 von ihnen zahlen überhaupt Gewerbesteuer — und 53 % der Bemessungsgrundlage kommen von 879 Betriebsstätten größerer Firmen, die ihre Steuer nach Arbeitslöhnen auf mehrere Gemeinden aufteilen. Dass diese Statistik die Veranlagung zeigt und nicht das Geld in der Kasse, und dass sie rund fünf Jahre nachhinkt, steht ausdrücklich daneben. (#732)
- •Siebzehn neue Erklärungen im Glossar. Bilanzsumme, Nettoposition, Sonderposten, Abschreibung, Buchwert, Bürgschaft, Rückstellung, Eigenkapitalquote und weitere Begriffe aus den Jahresabschlüssen erklären sich jetzt dort, wo sie stehen — mit Oldenburger Zahlen statt Lehrbuchsätzen. (#628)
- •Die KI-Antwort zeigt jetzt Diagramme. Wer nach den Schulden oder einer Steuer fragt, bekommt unter der Antwort die Zeitreihe dazu — dieselbe Grafik wie im Haushalts-Bereich, mit Ableseleiste und aufklappbarer Werte-Tabelle. Die Reihe kommt aus unserer Datenbank, nicht aus der KI-Antwort: Das Modell kann sie weder erfinden noch verfälschen. (#635)
- •Fünf Wirtschaftspläne mehr, drei davon aus Scans. Die Pläne des Abfallwirtschaftsbetriebs für 2019, 2020 und 2021 lagen im Ratsinformationssystem nur als Bild vor und fehlten deshalb. Sie sind jetzt gelesen und geprüft — in jedem der drei Jahrgänge geht die Rechnung in allen sechs Spalten auf den Cent auf. Dazu kommt der Eigenbetrieb Hafen mit seinen beiden einzigen Jahrgängen 2019 und 2020; mehr gibt es nicht, weil der Betrieb danach aufgelöst wurde. Beide Zahlen stehen im Beschlusstext *und* in der beigefügten Anlage. (#671)
- •Der Haushalt neben dem Haushalt. Der Rat beschließt nicht nur den Stadthaushalt — daneben stehen die Wirtschaftspläne der Eigenbetriebe und städtischen Gesellschaften, in denselben Sitzungen entschieden. Die neue Seite *Stadtfinanzen → Der Haushalt neben dem Haushalt* zeigt sie erstmals: sechs Betriebe, 29 Jahrgänge von 2019 bis 2026, jede Zahl mit der Vorlage belegt, aus der sie stammt. Wo eine Quelle nur das Ergebnis nennt und keine Erträge, steht ein Strich mit dem Grund — keine Null, die es nicht gibt. Und bewusst keine Gesamtsumme: Der Eigenbetrieb Gebäudewirtschaft vermietet der Stadt ihre eigenen Gebäude, wer beides addiert, zählt dasselbe Geld zweimal. (#668)
- •Jede Haushalts-Schrittseite hat jetzt eine Bühne. Elf der zwölf Schritte beginnen mit einer hellen Kopf-Fläche, auf der die eine gemessene Zahl der Seite groß steht — „Bei N von M Einnahmequellen kann der Rat wirklich drehen", „geplant 727,9 — geworden 764,4", „257 Feststellungen aus sieben Jahren" — daneben die verkleinerte Hauptform der Seite (Waffel, Treppe, Städte-Leiter …), die per Klick dorthin springt. Die Zahl zählt beim ersten Sichtkontakt hoch; wer Bewegung reduziert hat, sieht sofort den Endwert. Fehlt eine Datengrundlage, entfällt die Bühne, statt etwas zu behaupten. Das Labor bleibt bewusst ohne: Es ist Werkzeug, sein Kopf ist der eigene Regler-Stand. Auch der Steuer-Steckbrief trägt die Bühne — mit dem Hebesatz und seiner Treppe, wo eine Reihe vorliegt. Die Einstiegstexte stehen jetzt unter der Bühne, eine Stufe kleiner. Die Zeichen-Kachel im Seitenkopf ist dem Schritt-Pfad gewichen. Oben rechts stehen statt des großen Icons zwölf Punkte in den vier Etappen-Gruppen des Wegweisers: besuchte Schritte gefüllt, der aktuelle als Ring — derselbe lokale Lesestand, den der Wegweiser führt, und ein Klick führt zu ihm. (#749)
- •Der Rahmen um den Haushalt wird jetzt gelesen. Die Haushaltssatzung legt jedes Jahr fest, wie viel die Stadt sich für Investitionen leihen darf, wie hoch ihr Dispo sein darf und welche Verpflichtungen sie für kommende Jahre eingehen darf. Drei Seiten je Jahrgang, die bisher niemand ausgewertet hat. Sieben Jahrgänge von 2019 bis 2026 stehen jetzt im Bestand, jeder an der eigenen Summenzeile der Satzung nachgerechnet. Zwei Befunde daraus: Die Stadt veranschlagt in keinem einzigen Jahr Investitionskredite — und ihr Dispo-Höchstbetrag ist von 60 auf 100 Millionen Euro gewachsen. Wichtig dabei: Im Ratsinformationssystem liegen ausschließlich Entwürfe der Verwaltung; die beschlossene Fassung erscheint im Amtsblatt. Jede Zahl ist entsprechend gekennzeichnet. (#674)
- •Die dreizehn Zahlen, auf die die Stadt ihren Abschluss selbst eindampft — und sieben stille Korrekturen. Am Ende jedes Rechenschaftsberichts steht eine Anlage mit dreizehn Kennzahlen und, darunter, den Rechenwegen im Wortlaut. Die neue Seite zeigt beides für 2015 bis 2024. Weil jeder Bericht fünf Jahre druckt, stehen dieselben Jahrgänge mehrfach da — meistens mit derselben Zahl, an sieben Stellen aber nicht: Die Steuerquote 2021 war erst 45,90 %, dann 49,05 %, dann wieder 45,92 %. Angesagt wurde das nirgends. (#627)
- •Die KI-Frage kennt jetzt auch Bilanz, Kassensicht, Nachbewilligungen und Kennzahlen. Fragen nach dem Vermögen der Stadt, nach dem, was tatsächlich geflossen ist, nach nachträglich bewilligtem Geld oder nach der Eigenkapitalquote wurden bisher aus dem Haushaltsplan beantwortet — dort kommt nichts davon vor. Bei den Kennzahlen zitiert die Antwort den Rechenweg, den die Stadt danebendruckt, statt selbst eine Quote zu bilden. (#630)
- •Das Haushalts-Labor hat jetzt drei Werkbänke. Aus zwei Reglern werden drei Arbeitsflächen mit je eigener Zielgröße: Bei den Einnahmen laufen beim Drehen am Gewerbesteuer-Hebesatz die kreisfreien Städte als Leiter mit, dazu kommen die eigene Hebesatz-Treppe seit 1980, der lange fehlende Grundsteuer-B-Regler (mit belegter Aufteilung aus dem Realsteuervergleich des Landes), die Hundesteuer als Größenordnungs-Probe und die Gebühren als absichtlich gesperrte Schraube. Die Ausgaben-Werkbank führt die freiwilligen Teilhaushalte weiter. Neu ist Investitionen & Finanzierung: einzelne Vorhaben aus dem Investitionsprogramm abwählen und sehen, warum das die Ergebnis-Lücke kaum bewegt — plus ein Kredit-Schalter, der mit den tatsächlich gezahlten Zinssätzen rechnet statt mit einer Annahme. Im Ergebnis zeigt eine Kurve über die Finanzplanungsjahre, in welchem Jahr die Rücklage rechnerisch kippt und wie das eigene Szenario den Punkt verschiebt; der Finanzausgleich steht als Spanne aus den echten Ausgleichsjahren daneben. (#721)
- •So viel gibt die Stadt aus — seit 1972. Die Übersicht des Haushalts-Bereichs zeigt jetzt 54 Jahrgänge in einem Bild: bis 2009 die Ausgaben des Verwaltungshaushalts, ab 2010 die ordentlichen Aufwendungen des Ergebnishaushalts. Der Wechsel des Rechnungswesens zum 1. Januar 2010 steht als sichtbare Naht zwischen zwei Farbwelten im Bild — über sie hinweg wird keine Linie gezogen und nichts verrechnet, weil links und rechts etwas anderes gezählt wird. Die Beträge stehen in Euro des jeweiligen Jahres, die Teuerung ist nicht herausgerechnet; einen Betrag je Einwohner*in zeigt die Reihe bewusst nicht, weil die Einwohnerzahl zweimal durch einen Zensus springt. Nebenbei beantwortet die Reihe die Frage nach dem gerade abgelaufenen Jahr: Seine Gesamtsumme steht dort Monate, bevor der Jahresabschluss vorliegt. Für 2021 nennen die beiden Veröffentlichungen der Stadt verschiedene Beträge — statt das still zu glätten, nennt die Seite beide Zahlen und sagt, welche der Jahresabschluss bestätigt. (#604)
- •Sitzungen, Tagesordnungspunkte und Beschlüsse lassen sich jetzt persönlich merken. Die neue Merkliste bündelt offene und bereits entschiedene Punkte. Für einen noch offenen öffentlichen TOP kann zusätzlich eine Benachrichtigung eingeschaltet werden: Sobald ein Protokoll vorliegt, verknüpft Ratslotse den gemerkten TOP mit dem erkannten Beschluss und meldet das Ergebnis. Die Zuordnung bleibt auch erhalten, wenn sich die TOP-Nummer vor der Sitzung noch verschiebt. (#762)
- •Was beschlossen wurde, nachdem der Haushalt beschlossen war. Ein Haushalt ist ein Plan — und wenn das Geld nicht reicht, braucht jede zusätzliche Ausgabe eine eigene Bewilligung (§ 117 NKomVG). Seit 2018 sind das 161 Vorlagen, und auf *Geplant und geworden* stehen sie jetzt: mit Betrag, mit Jahr und mit einem Link auf ihre Beschluss-Seite. „Außerplanmäßig" heißt dabei nicht ungedeckt, sondern umgewidmet — jede dieser Vorlagen nennt, aus welchem anderen Posten das Geld kommt. Wichtiger als die Liste ist aber, was daneben steht. Der Rat ist nämlich nicht der einzige Weg: Der Rechenschaftsbericht der Stadt zählt vier — Ratsbeschluss, Entscheidung des Oberbürgermeisters, Haushaltsvermerk des Fachdienstes 200 und Eilentscheidung. Zusammen waren das 2022 rund 26,7 Millionen Euro, 2024 schon 57,5. Der Anteil, über den der Rat selbst abgestimmt hat, ist im selben Zeitraum von 89 auf 73 Prozent gefallen. Wer nur die Ratsbeschlüsse zeigte, zeigte eine schrumpfende Teilmenge, als wäre sie das Ganze — deshalb steht die Gesamtsumme oben und die Liste darunter. Zwei der drei Berichte widersprechen sich dabei selbst: 2022 nennt der Fließtext 288.000 Euro mehr als seine eigene Tabelle, 2023 steht in einer Zeile eine Anzahl von null und trotzdem ein Betrag. Beides zeigen wir an, statt es glattzurechnen. Und wo unsere Zahl von der des Berichts abweicht, sagen wir warum: Wir nennen den Betrag, den die Vorlage beantragt hat, der Bericht den, der am Ende gebucht wurde. (#609)
- •Eine Übersicht, welche Zahlen es über Oldenburgs Finanzen noch gibt. Die Technik-Doku hält jetzt fest, welche amtlichen Quellen wir auswerten, welche wir kennen und noch nicht nutzen — und welche wir geprüft und verworfen haben, mit Begründung. Für Leser*innen ändert sich nichts; für alle, die mitbauen wollen, steht dort, wo die Zahlen herkommen. (#598)
- •Drei neue Quizfragen aus dem Jahresabschluss. Wie hoch die Schulden der Stadt sind (Antwort: alle drei genannten Zahlen, je nachdem was mitgezählt wird), für wie viele Millionen Euro sie bei Krediten ihrer Gesellschaften geradesteht, und wie viel Wert sich ihr Sachvermögen im Jahr abnutzt, verglichen mit dem, was neu dazukommt. (#631)
- •Auf der Schulden-Seite steht jetzt auch, was die Stadt aufnehmen dürfte. Bisher zeigte sie nur, was die Stadt schuldet. Der neue Block darunter nennt die drei Grenzen aus der Haushaltssatzung: wie viel für Investitionen geliehen werden darf, wie hoch der Dispo sein darf und was in diesem Jahr bestellt werden darf, obwohl die Rechnung später kommt. Für das kommende Jahr steht bei den Investitionskrediten „nicht veranschlagt" — und zwar so und nicht als „0 €", weil die Satzung genau diesen Satz schreibt. Der Block sagt außerdem dazu, dass es sich um den Entwurf der Verwaltung handelt und nicht um den Ratsbeschluss. (#676)
- •- „Frag den Rat“ lässt das bestehende Frage-Analysemodell nun zusätzlich einen strukturierten Rechercheplan für Beschlüsse, Debatten, Haushalt, Presse, Sitzungen, kommende Beratungen, Orte und Dokumente entwerfen. Der Plan läuft zunächst im Shadow-Mode: Er verändert keine Antwort, wird aber zusammen mit anonymisierten Trefferzahlen protokolliert. Explizite Personen-, Orts-, Geld- und Sitzungsbezüge bleiben dabei verpflichtende deterministische Kanäle. (#793)
- •Gescannte Ratsunterlagen sind jetzt auch durchsuchbar. Rund 230 Anlagen liegen im Ratsinformationssystem nur als Bild vor. Ihr per Texterkennung gelesener Inhalt steht nicht mehr nur in der Datenbank, sondern wird wie jeder andere Anlagentext gefunden — vom Wirtschaftsplan des Abfallwirtschaftsbetriebs bis zum Prüfbericht des Rechnungsprüfungsamts. (#679)
- •Änderungs-Meldungen einzeln abschaltbar. Wer die Tagesordnung seiner Gremien bekommen, aber nicht über jede spätere Änderung informiert werden will, schaltet unter „Mein Konto" nur noch die neuen Änderungs-Meldungen ab. Der Schalter hängt an „Tagesordnung in meinen Gremien" und ist ohne ihn wirkungslos. (#747)
- •Von jedem Schritt direkt zum nächsten. Am Fuß jeder der sechzehn Haushalts-Seiten steht jetzt, wo man im Weg ist („Schritt 5 von 16") und wohin es weitergeht — vorher führte der einzige Weg zum nächsten Schritt zurück über die Übersicht. Der letzte Schritt verabschiedet mit „Geschafft". Die Reihenfolge kommt aus derselben Quelle wie der Wegweiser selbst; die beiden Steckbriefe ohne eigenen Schritt bleiben bewusst ohne die Zeile. (#583)
- •- Interne Schnittstelle für den Social-Media-Bot: liefert die Wochenvorschau neutral (ohne Konto-Bezug) und nimmt die gerenderten Karten entgegen, damit Instagram sie abholen kann. Ohne
SOCIAL_API_TOKENist sie abgeschaltet. (#645) - •Was Menschen und Firmen der Stadt schenken, steht jetzt unter den Einnahmen. Acht- bis zwölfmal im Jahr beschließen Rat oder Verwaltungsausschuss, welche angebotenen Zuwendungen die Stadt annimmt — lückenlos seit Februar 2018, zuletzt 788.669 Euro im Jahr 2025. Diese Reihe weist sonst niemand aus: Weder die Ergebnisrechnung noch der Haushaltsplan führen Spenden getrennt. Aufgenommen ist nur, was in der Vorlage ein zweites Mal steht, im Abschnitt zu den finanziellen Auswirkungen — entweder als dieselbe Zahl oder zerlegt in Geld- und Sachzuwendungen, die sich auf den Cent aufaddieren müssen. 148 Vorlagen tragen diese Probe; sechs Beschlusszeilen tragen sie nicht und stehen mit dem Satz dabei, warum, statt ungeprüft mitgezählt zu werden. Bei einer davon hat der Rat die vorgeschlagene Liste geändert — er nahm 2.500 statt 22.500 Euro an, „ohne lfd. Nr. 2". Nebenbei erklärt der Block, wie Zuständigkeit funktioniert: Über eine einzelne Zuwendung bis 100 Euro entscheidet die Verwaltungsspitze allein, bis 2.000 Euro der Verwaltungsausschuss, darüber der Rat. Beide Gremien behandeln ungefähr gleich viele Vorlagen — 80 der Rat, 68 der Verwaltungsausschuss —, aber 95 Prozent des Geldes laufen über den Rat. Wer gespendet hat, zeigen wir nicht. Die Namen stehen ausschließlich in der Anlage „Zuwendungsliste" zur jeweiligen Vorlage, und die lesen wir nicht ein. Der Ratsbeschluss macht die Summe öffentlich; die Liste dahinter bleibt es nicht, und dabei bleibt es auch hier. (#610)
- •Die Statistik der Stadt wird täglich gesichert, bevor sie verschwindet. Die Stadt führt kein Archiv ihres Statistischen Jahrbuchs: Online steht immer nur die neueste Ausgabe jeder Tabelle, die vorherige Adresse ist danach ein Fehler 404, und das Internet Archive hat davon keinen einzigen Schnappschuss. Bei Tabellen mit nur drei Jahrgängen — etwa der über Steuern und Zuweisungen — war damit jedes Jahr ein Jahrgang endgültig weg. Ein neuer täglicher Lauf sichert jetzt alle Jahrbuch-Tabellen, alle Dateien des Open-Data-Portals und die Finanzausgleichs-Tabellen des Landes versioniert; verändert sich eine Datei, kommt die neue Fassung dazu, die alte bleibt. Wir laden dabei nur, was sich wirklich geändert hat. (#603)
- •Bei jeder Steuer steht jetzt, was geplant war — und was daraus wurde. Der Steckbrief einer Steuerart (etwa der Gewerbesteuer) zeigt neben dem, was hereinkam, den Ansatz aus dem beschlossenen Haushalt. Bei der Gewerbesteuer liegen die beiden weit auseinander: 2023 kamen 42 Prozent mehr herein als geplant, 2024 sogar 52 Prozent. Das ist ein Befund und keine Note — wer eine Steuer vorsichtig ansetzt, die zwischen 43 und 222 Millionen Euro schwankt, vermeidet eine Lücke, die sich mitten im Jahr nicht mehr schließen lässt. Dazu kommt die Geschichte des Hebesatzes: 45 Jahre, neun Entscheidungen des Rats, als Treppe — denn ein Hebesatz gilt, bis er wieder geändert wird. Daneben steht jedes Mal, was im selben Jahr tatsächlich hereinkam. 2025 zeigt, warum das zusammengehört: Der Hebesatz der Grundsteuer B stieg um 21 Prozent, das Aufkommen sank trotzdem um 4,6 Prozent, weil die Grundsteuerreform gleichzeitig alle Messbeträge neu festsetzte. (#608)
- •Der Streit ums Geld zeigt jetzt, was in den Änderungslisten stand. Bisher sagte die Seite „Mitreden" nur, wer eine Änderungsliste einbrachte und ob sie durchkam — der Inhalt lag als PDF ohne Volltext im Ratsinformationssystem. Jetzt liest Ratslotse die Listen selbst: je Dokument (Änderungslisten der Verwaltung I–III und die beschlossenen Änderungen des Finanzausschusses) alle Positionen mit Teilhaushalt, Bezeichnung und Betrag, dazu der Saldo und bis zu welchem Planjahr die Liste wirkt. Jede Liste ging beim Einlesen gegen ihre eigene Schlusssumme auf — was nicht aufgeht, wird nicht angezeigt. Von den Änderungslisten der Fraktionen, die als Tischvorlagen verteilt wurden und in keinem Dokument liegen, zeigt die Seite die einzige digitale Spur: ihre Summenzeile aus der Beschluss-Datei, mit dem Urheber daneben. (#739)
- •Die KI-Frage zeigt Tagesordnungen als eigene Karte. Wer nach einer konkreten Sitzung fragt, zu der es noch keine Beschlüsse gibt — weil sie erst bevorsteht oder das Protokoll noch nicht veröffentlicht ist —, bekommt unter der Antwort jetzt eine Tagesordnungs-Karte: Gremium, Termin, die ersten Punkte der Tagesordnung und der Sprung zur Sitzungsseite. Die Karte kommt direkt aus dem Sitzungskalender, nicht vom Sprachmodell, und bleibt auch in gespeicherten Gesprächen erhalten. (#735)
- •Oberbürgermeister und Dezernent:innen bekommen jetzt einen eigenen Steckbrief. Im Personenverzeichnis stehen unter „Stadtverwaltung" jetzt auch Amtsträger:innen mit erkanntem Amt (Oberbürgermeister/-in, Stadtkämmerer/-in, Stadtbaurat/-rätin, Stadtrat/-rätin) — mit Amt, Erwähnungszeitraum aus den Protokollen und ihren Wortbeiträgen. Ihr Badge im Antworttext der KI-Frage verlinkt jetzt ebenfalls dorthin. Ohne erkanntes Amt bleibt es beim bisherigen Badge ohne Link — die Datenbasis wäre für ein vertrauenswürdiges Profil zu dünn. (#654)
- •„Und welche Firmen zahlen das?" — der Steckbrief der Gewerbesteuer beantwortet jetzt die häufigste Rückfrage. Nämlich damit, dass sie niemand beantworten darf: Was ein einzelnes Unternehmen zahlt, fällt unter das Steuergeheimnis, auch gegenüber dem Rat. Was die Zahlen trotzdem hergeben, steht daneben — die Gewerbesteuer schwankt von Jahr zu Jahr um ein Vielfaches dessen, was die Grundsteuer tut, und in keinem dieser Sprungjahre hatte der Rat den Hebesatz angefasst. Dazu der Weg, auf dem man sich der Frage nähern kann (die Gewerbesteuer folgt der Lohnsumme am Standort, nicht dem Sitz der Zentrale) und die drei Stellen, an denen dieser Weg bricht. Namen nennt die Seite keine. (#714)
- •Was die Bäder kosten sollen, steht jetzt im Bestand. Der Haushalts-Bereich zeigt neben Gebäudewirtschaft und Abfallwirtschaft jetzt auch die Wirtschaftspläne der Bäderbetriebsgesellschaft, des Bäderbetriebs und der beiden Stadion-Gesellschaften — insgesamt 22 Jahrgänge. Für die Bäderbetriebsgesellschaft, die OLantis und die übrigen Bäder betreibt, ist für 2026 ein Fehlbetrag von 10,1 Millionen Euro geplant; 2020 waren es 2,7 Millionen. Belegt ist jede dieser Zahlen doppelt: Sie steht im Beschlusstext der Ratsvorlage und noch einmal in der beigefügten Anlage. Wo das nicht geht — weil ein Plan ausgeglichen ist oder die Anlage nur als Scan vorliegt — sagt der Beleg das ausdrücklich, statt Sicherheit vorzutäuschen. (#667)
- •Der Haushalt neben dem Haushalt. Der Rat beschließt jedes Jahr nicht nur den Stadthaushalt, sondern auch die Wirtschaftspläne der Eigenbetriebe — und die waren im Haushalts-Bereich bisher unsichtbar. Der größte davon, der Eigenbetrieb Gebäudewirtschaft und Hochbau, plant für 2026 mit 82,8 Millionen Euro Erträgen und einem Vermögensplan über 51,1 Millionen; er baut und saniert die städtischen Gebäude, also auch die Schulen. Seine Eckwerte stehen jetzt für acht Jahrgänge (2019–2026) im Bestand, gelesen aus dem Beschlusstext der Ratsvorlage und geprüft an der Rechnung, die dort danebensteht. Die übrigen Betriebe nennen ihre Zahlen nur in einer Anlage — was fehlt, weist der Bereich als fehlend aus, statt eine ungeprüfte Zahl danebenzustellen. (#663)
Geändert
- •Der Datenstand im Quellenverzeichnis rechnet sich selbst. Am Fuß jeder Haushalts-Seite steht, welche Jahrgänge eine Quelle abdeckt („Jahresabschlüsse 2017–2024"). Diese Spannen wurden von Hand gepflegt, einundzwanzig Stück — und veralteten zuverlässig, sobald ein Ingest-Lauf einen Jahrgang nachzog: Die Angabe stand nicht neben den Daten, sondern in einer anderen Datei. Vierzehn davon fragen jetzt den Bestand. Die übrigen sieben bleiben von Hand, weil sie sich gar nicht ableiten lassen — ein Genehmigungsdatum, eine einzelne Ratsvorlage von 2018, die Ausgabe-Angaben der Landesstatistik —, und das steht jetzt begründet dabei. (#567)
- •Die Seite „Streit ums Geld" lädt spürbar schneller. Sie zerlegte bei jedem Aufruf rund sechzehn vollständige Ratsprotokolle neu, um die Wortbeiträge herauszuholen — gut anderthalb Sekunden Rechenzeit für ein Ergebnis, das jedes Mal dasselbe war. Jetzt merkt sie sich die Zerlegung anhand des Protokoll-Inhalts. Die Zusage der Seite bleibt dabei unangetastet: Sie führt weiter keinen eigenen Datenbestand, kann also nicht veralten, und ein nachgetragenes Protokoll erscheint weiterhin sofort und ohne Nacharbeit. (#567)
- •Zwei weitere Seiten hören auf, ihre eigene Gründlichkeit vorzuführen. „Was wird gebaut?" und „Wer macht die Arbeit?" zeigten unter jeder Zahl noch, gegen welche Rechenprobe wir sie geprüft haben — bis hin zum Messwert („Gemessen: 0,00 € Restbetrag"). Das sagt etwas über uns und nichts über den Haushalt; die übrigen Seiten hatten es schon abgelegt. Wo eine Zahl steht, steht weiterhin, wo im Dokument man sie findet — und was eine Quelle nicht hergibt, sagen die Seiten unverändert. Die Proben laufen weiter, nur ohne Publikum. (#554)
- •Der Haushalts-Bereich bleibt vorerst der Dev-Umgebung vorbehalten. Die dreizehn Seiten unter
/haushaltsind jetzt — wie der Wahlprogramm-Vergleich — anNEXT_PUBLIC_RATSLOTSE_ENVgebunden: Auf ratslotse.de rendern sie nicht, und die Anker dorthin (Seitenleiste, „Mehr"-Sheet, der Verweis auf den Beschluss-Seiten) verschwinden mit ihnen — ein Gate ohne seine Einstiege hinterließe Links, die ins Leere führen. Damit kann der Bereich weiterentwickelt werden, ohne den nächsten Release aufzuhalten. Ein Testwächter prüft künftig, dass kein neuer Verweis das Gate vergisst. (#546) - •Kleinkram im Haushalts-Bereich, den sonst niemand bemerkt hätte. Das Fußnotenzeichen im Städtevergleich ist jetzt ein Kreuz statt eines Sternchens — die Fußnote selbst endet auf „Einwohner*innen", und zwei Sternchen mit verschiedener Bedeutung nebeneinander liest niemand auseinander. Im Quellenverzeichnis stehen nicht mehr unsere Prüfverfahren, sondern nur noch, was eine Quelle hergibt und was nicht. Im Haushalts-Labor behauptet kein Satz mehr, wie sich ein Jahrgang entwickelt hat, den die Seite gar nicht zeigt. Dazu die Sternchenform in den letzten eigenen Dokumenten (Zitate aus Wahlprogrammen bleiben unangetastet) und eine ungenutzte Komponente weniger. (#549)
- •Zahlen, die eine Rechenprobe nicht bestehen, ersetzen keine vorhandenen mehr. Liest ein Parser für einen bereits gespeicherten Jahrgang plötzlich nichts oder deutlich weniger — etwa weil die Stadt ihre Tabellen umbaut —, bleibt der alte Stand stehen und der Lauf meldet es, statt den Bestand gegen ein kaputtes Ergebnis zu tauschen. Beim Einlesen von Hand lässt sich das mit
--auch-schrumpfenübergehen; ein leeres Ergebnis ersetzt auch dann nichts. Ein Jahrgang wird außerdem am Stück gespeichert — bricht ein Lauf mittendrin ab, steht hinterher der alte Stand da und kein halber neuer. (#511) - •„Bis wann die Zahlen reichen" sagt es jetzt auch für den Städtevergleich. Der Block am Fuß von
/haushaltführte jede Datenschicht auf — außer den beiden Reihen, die den Vergleich mit den anderen kreisfreien Städten tragen. Wer/haushalt/vergleichlas, erfuhr an keiner Stelle, bis wann sie reichen und wann der nächste Jahrgang kommt. Beide stehen jetzt dort, mit ihrem eigenen Takt: Die Steuerkraft-Reihe erscheint im April desselben Jahres, der Realsteuervergleich im November des Folgejahres. Und die Fußzeile nennt die Stelle beim Namen: Sie versprach bisher pauschal, die Zahlen „vom Portal der Stadt" zu holen — die beiden neuen Reihen kommen vom Landesamt für Statistik Niedersachsen. Bleibt ein Jahrgang aus, meldet das der zweiwöchentliche Prüflauf; geholt werden die Tabellen weiter von Hand, weil sie nur einmal im Jahr erscheinen. (#530) - •Admin-Panel: Speicher-Einwilligung sichtbar, Tabs mobil scrollbar. Das Nutzer-Detail zeigt jetzt, ob ein Konto „Gespräche speichern" für die KI-Frage angeschaltet hat (an, bewusst aus oder nie gefragt). Außerdem liefen die sieben Admin-Tabs auf schmalen Bildschirmen über den rechten Rand hinaus — die Leiste scrollt jetzt seitlich. (#733)
- •Man bleibt angemeldet. Die Sitzung im Browser hielt einen Tag und wurde nie erneuert — wer Ratslotse gestern benutzt hat, stand heute wieder vor dem Login. Jetzt läuft sie 90 Tage und verlängert sich still, sobald man die Seite benutzt: Wer regelmäßig vorbeischaut, meldet sich nicht wieder an. Das gilt auch für reines Lesen öffentlicher Beschluss-Seiten. Die App macht dasselbe mit ihrem Token, das sich bei jedem Start erneuert. Abmelden, Passwortwechsel und Passwort-Reset beenden die Sitzung unverändert sofort — auf allen Geräten. (#706)
- •Die Bereichsseiten des Haushalts rechnen sichtbarer. Die drei Kennzahlen standen klein in einer Eckkarte, und der Wasserfall darunter verlangte, dass man seine Leserichtung kennt. Jetzt trägt der Seitenkopf die Zahlen groß auf der Anzeigetafel, und darunter zeigen zwei Balken auf einer Skala, was rausgeht, was reinkommt — die Lücke dazwischen heißt sichtbar „trägt die Stadt". Dieselbe Darstellung wie auf der Haushalts-Übersicht. (#726)
- •Teilhaushalte und Aufgaben stehen jetzt auf einer Seite. „Was steckt hinter den Namen?" und „Was kostet eigentlich …?" waren zwei Schritte, gehen aber denselben Baum hinunter: erst die zehn Teilhaushalte im Klartext, dann die einzelnen Aufgaben darin. Wer den zweiten ohne den ersten las, suchte Aufgaben in Bereichen, deren Namen ihm nichts sagen. Beides steht jetzt unter *ratslotse.de/haushalt/produkte*. Der Steckbrief eines einzelnen Teilhaushalts bleibt als dritte Ebene eine eigene Seite. (#702)
- •Beschlüsse bekommen nachvollziehbare Ortszuordnungen. Einmalige Straßen bleiben erhalten, mehrere Orte je Beschluss sind möglich und jede Zuordnung speichert ihre Fundstelle und Qualität. Neue oder später vervollständigte Beschlüsse werden täglich nachgezogen. Eine reproduzierbare Qualitätsstichprobe und konservative Nachfilterung halten Organisationen, auswärtige Vergleichsorte und generische Platzbegriffe aus den Ortsbezügen heraus. (#765)
- •Der Steckbrief einer städtischen Gesellschaft zeigt jetzt Zahlen, Anteile und Personen statt fünf Textblöcken. Jahresergebnis, Bilanzsumme und Eigenkapitalquote stehen mit ihrem jeweiligen Jahr oben, daneben der Verlauf. Wem die Gesellschaft gehört, ist ein Anteilsstreifen mit Betrag und Quote, wie sie im Bericht stehen; wer sie beaufsichtigt, sind Personen mit Partei und Link ins Personenverzeichnis, gebündelt nach dem Amt, das der Bericht ihnen gibt. Wo der Bericht Namen und Funktionen nicht sicher paaren lässt, stehen die Namen ohne Amt und die Seite sagt, warum. Der Unternehmensgegenstand steht mit seinem ersten Absatz da, der volle Wortlaut hinter einem Auslöser — und jede Angabe behält ihre Fundstelle mit Seitenzahl. (#586)
- •Der Eigenbetrieb Hafen steht jetzt mit auf der Seite. Er ist der siebte Betrieb im „Haushalt neben dem Haushalt". Seine Reihe endet 2020, und das ist keine Datenlücke: Der Rat hat den Betrieb damals aufgelöst. Genau das steht jetzt auch an der Karte — sonst sähe ein Ende wie ein Loch aus. (#673)
- •Die Bürgschaften zeigen jetzt die Bewegung, nicht nur den Stichtag. Was die Stadt selbst schuldet und wofür sie geradesteht, stehen im selben Bild und im selben Maßstab — und laufen sichtbar auseinander: Die eigenen Schulden sind seit 2019 um 27 Prozent gesunken, das verbürgte Volumen ist auf das 2,9-Fache gestiegen. Warum es 2022 sprang, steht an der Stelle, an der die Frage entsteht. (#620)
- •Changelog-Einträge entstehen jetzt als eigene Datei je Änderung. Bisher schrieb jede Änderung ihren Eintrag in dieselben Zeilen unter „Unreleased" — liefen zwei parallel, kollidierten sie dort verlässlich. Jede Änderung legt stattdessen eine eigene kleine Datei unter
changelog.d/an; erst beim Versionsschnitt wandern sie gesammelt in den Changelog, samt der Nummer, unter der die Änderung eingereicht wurde. Auf ratslotse.de/changelog ändert sich nichts: Was noch als Fragment vorliegt, steht dort weiterhin unter „Unreleased", nach Kategorie einsortiert. (#581) - •Die Haushaltsdebatte liest sich jetzt wie ein Weg durch die Sitzung. Die Wortbeiträge unter „Der Streit ums Geld" waren ein grauer Stapel: Name, kursiver Absatz, Knopf — einundzwanzigmal untereinander, die halbe Karte leer. Jetzt führt eine geschlungene Linie von Redner*in zu Redner*in, jede zweite Wortmeldung rückt ans andere Ufer, und der Punkt an der Linie trägt die Fraktionsfarbe — dieselbe Marke wie die Zähl-Chips am Kopf der Karte. Beim Scrollen zeichnet sich der Weg mit und die Beiträge treten nacheinander auf; die Pfeilspitze am Ende zeigt dorthin, wo die Debatte hinführt: zur Abstimmung. Der Wortlaut selbst steht nicht mehr kursiv — einundzwanzig Reden in Schrägschrift waren schlicht anstrengend zu lesen. Wer Animationen im System abgeschaltet hat, bekommt alles fertig gezeichnet und ohne Bewegung. (#709)
- •Im Haushalts-Bereich trägt jede Zahl ihre Einheit. Auf der Anzeigetafel stand über den drei Summen nur „nimmt ein / gibt aus / fehlt" und darunter die nackte Zahl — wie groß 812,9 ist, musste man sich aus der Überschrift zusammenreimen. Jetzt steht hinter jedem Betrag „Mio. €": auf der Tafel, in der Legende des Gegenbalkens, in der Bereichstabelle, auf den Seiten „geplant gegen tatsächlich", „Woher kommt das Geld?", „Pflicht oder Kür" und im Labor. Wo bisher „Mio." ohne Währung stand, steht sie jetzt dabei; wo die Spalte zu schmal ist, trägt der Spaltenkopf die Einheit. (#708)
- •Die Haushalts-Übersicht lädt noch einmal deutlich weniger. Der größte Datenblock — die Ergebnisrechnung mit ihren dreizehn Teilhaushalten — kommt jetzt nur noch in der Tiefe, die die jeweilige Seite zeichnet. Die Übersicht holt 178 statt 795 Kilobyte, das Haushalts-Labor 131. Zu sehen ist dasselbe: Das Flussbild zeigt unverändert alle Bereiche. (#625)
- •„Frag den Rat“ kann Ortsbezüge jetzt mit Geld-, Partei-, Verlaufs-, Personen- und Sitzungsfragen kombinieren. Die Quellen zeigen außerdem den erkannten Ort und die konkrete Fundstelle der Zuordnung. (#789)
- •Ein Redebeitrag zeigt die Fraktion, unter der er gehalten wurde. Vally Finke saß 2022 für die SPD und sitzt heute für „Für Oldenburg" — ihre Beiträge von damals trugen bisher entweder gar kein Abzeichen oder das von heute. Jetzt steht in der Quellenzeile „Finke ·SPD (heute Für Oldenburg)": das Abzeichen nennt die Zugehörigkeit zum Zeitpunkt der Aussage, der Halbsatz dahinter sagt, dass sie eine andere geworden ist. Der Wechsel zwischen Gruppen-Label und Einzelpartei („FDP/Volt" ↔ „FDP") gilt dabei nicht als Wechsel. Nebeneffekt: Beiträge, die wegen des scheinbaren Widerspruchs kein Abzeichen bekamen, haben jetzt eins — die Zuordnung bleibt belegt, denn gewertet wird nur, was in den Anwesenheitslisten steht. (#697)
- •Die ganze Stadt steht jetzt auf einer Seite — und der Bereich hat elf Schritte statt neunzehn. Vier Seiten beantworteten dieselbe Frage: die Summe aus dem Gesamtabschluss, die städtischen Gesellschaften einzeln, ihre Wirtschaftspläne und die Gebühren, die daraus folgen. Das ist eine Kette — wer bei den Gebühren anfängt, liest eine Zahl ohne Herkunft; wer bei der Summe aufhört, weiß nicht, wer dahintersteckt. Alle vier stehen jetzt unter *ratslotse.de/haushalt/konzern* als Abschnitte mit einer Navigation am Kopf. Damit ist die Neuordnung des Haushalts-Bereichs abgeschlossen: Aus neunzehn Schritten sind elf geworden, ohne dass ein einziger Inhalt weggefallen ist. Alle alten Adressen leiten auf ihren Abschnitt weiter. (#703)
- •Halb leere Kästen im Haushalts-Bereich füllen jetzt ihre Fläche. Auf breiten Bildschirmen endete der Text in manchen Karten nach knapp der Hälfte, und rechts blieben bis zu 870 Pixel leer. Der Grund war gut gemeint: Fließtext braucht eine begrenzte Zeilenlänge, sonst läuft er auf 120 Zeichen je Zeile. Nur saß die Begrenzung am Text statt am Kasten. Jetzt deckelt sich der Einschub „Lotti erklärt's einfach" selbst — er steht schmaler als der Fluss, und das ist bei einem Einschub genau richtig. Die Grenzen-Blöcke („Was diese Zahlen nicht hergeben") laufen auf breiten Karten in zwei Spalten: Fläche gefüllt, Zeile lesbar. Betroffen waren zwanzig Seiten, weil Lotti auf allen steht. (#694)
- •Die Bühnen-Grafiken erklären sich jetzt selbst. Auf „Woher kommt das Geld?" stehen die drei Spielraum-Gruppen im Kopfbild als beschriftete Reihen — Name links, ein Quadrat je Quelle rechts daneben, alle an derselben Kante beginnend; die Erklärzeile darunter braucht es nicht mehr. Und auf „Mitreden" zeigt das Kopfbild statt vier stummer Punkte den Weg des laufenden Haushalts: Einbringung, Beratung in den Ausschüssen, Beschluss im Rat, laufendes Haushaltsjahr — jede Station mit Datum, und markiert ist die, in der wir gerade stecken. Die Überschrift dort spricht außerdem von den Ratsdebatten zum Haushalt statt vom „Streit ums Geld". (#760)
- •Lottis Erklärkarten lesen sich wieder wie Text, nicht wie eine Zeile. Auf breiten Bildschirmen liefen sie über die volle Kartenbreite — deutlich länger als jeder andere Absatz derselben Seite. Jetzt enden sie dort, wo der Rest des Haushalts-Bereichs auch endet. Betrifft achtzehn Seiten. (#593)
- •Die Lücke von 2019 sagt jetzt, wie groß sie ist. Auf „Was wurde davon wirklich gebaut?" fehlt der Jahrgang, weil die Auszahlungsarten im Statistischen Jahrbuch nicht die Summe daneben ergeben. Wie weit die beiden Zahlen auseinanderliegen, stand bisher nur im Protokoll des Einlese-Laufs — jetzt steht es an der Lücke: „verworfen: 1,3 Mio. € Differenz im Dokument". Der Betrag wird bei jedem Lauf neu gemessen und nirgends fest eingetragen; ohne Messung nennt die Seite die Lücke wie bisher ohne Zahl. Die Schuldenkurve wiederum zeichnet jetzt dieselbe Grafik wie der Rest des Bereichs — mit Zinslinie, 2010-Marke und den beiden größten Bewegungen wie gehabt, dazu allen Werten als Tabelle zum Abschreiben. Und die Zinslast über der Kurve nennt wieder die Kernverwaltung: Sie zeigte zuletzt die Zinsen eines einzelnen Teilhaushalts. (#597)
- •Die Haushalts-Seiten laden deutlich weniger Daten. Bisher holte jede von ihnen denselben großen Datensatz — auch die, die daraus zwei Zahlen zeigt. Jetzt fordert jede Seite nur noch an, was sie tatsächlich darstellt: über neun Seiten zusammen 3,6 statt 13,7 Megabyte. Am deutlichsten auf dem Handy und in der App, wo diese Daten über Mobilfunk kommen. Zu sehen ist dieselbe Seite mit denselben Zahlen — sie ist nur schneller da. (#618)
- •Geteilte Links in den Haushalt führen wieder ans Ziel, und die Seiten dahinter sind aufgeräumter. Ein Steckbrief-Link mit dem Klartextnamen — etwa
/haushalt/bereich?name=Finanzmanagement und Recht— lief bisher auf „Diesen Bereich kennen wir nicht", obwohl der Bereich genau so heißt; jetzt findet ihn die Seite auch unter älteren Schreibweisen desselben Teilhaushalts, und dasselbe gilt für die Steckbriefe der Einnahmearten. Auf *Muss oder kann?* steht die Angabe der Stadt jetzt auf einer eigenen Fläche statt als zweiter Balken direkt unter dem ersten, „weicht ab" rückt neben den Bereichsnamen, und dieselbe Auskunft wird nicht mehr dreimal je Karte wiederholt. Der Schlusshinweis auf *Woher das Geld kommt* zerfällt in seine drei Aussagen, statt als ein Absatz von 550 Zeichen dazustehen. Und wo eine Zahl fehlt — bei „Gebühren und Beiträge" — sagt der Steckbrief das jetzt, statt die Kennzahl stillschweigend wegzulassen. (#590) - •Drei Haushalts-Seiten sind lesbarer geworden — dort, wo bisher der Wortlaut der Quelle als Wand herunterlief. Betroffen sind die Prüfungs-Seite, „Geplant und geworden" und die Produkt-Steckbriefe. Gekürzt wird an keiner Stelle etwas: Alle Wortlaute, Fundstellen und Deeplinks bleiben vollständig, sie stehen nur anders auf der Seite. Auf „Was das Rechnungsprüfungsamt beanstandet" war der Jahresbericht die textlastigste Fläche des ganzen Bereichs — für 2018 eine einzige Karte mit 49 Feststellungen am Stück. Jetzt trägt jeder Abschnitt des Schlussberichts ein eigenes Feld mit seiner Textziffer und der Zahl seiner Feststellungen, die Jahreswahl steht im Kartenkopf statt darüber, und ein Umschalter führt von der Zahl in der Überschrift zu den Einträgen: „Alle (49)" oder „Nur Beanstandungen (15)". Was der Umschalter gerade ausblendet, sagt eine Zeile darunter — und dass ein Hinweis etwas anderes ist als eine Beanstandung, steht weiterhin oben, nicht im Kleingedruckten. Auf „Geplant und geworden" stand in fünf von acht Jahrgängen ein ganzer Abschnitt des Jahresabschlusses mitten im Bild: bis zu 7.176 Zeichen Einzelbeträge zwischen zwei Zeilen der Plan-Ist-Grafik. Solche Abschnitte stehen jetzt vollständig unter „Warum es anders kam", wo alle Erläuterungen der Verwaltung liegen; in der Grafik bleibt der Hinweis, dass es sie gibt. Und eine Erläuterung, die zwei Bereiche in einem Satz nennt, wird nicht mehr zweimal abgedruckt — der zweite Bereich verweist auf den ersten. Die Produkt-Steckbriefe geben endlich wieder, was der Haushaltsplan eigentlich aufzählt. „Was dahintersteckt" ist bei 60 von 507 Produkten eine Liste von Leistungen, die beim Auslesen zu einem Absatz verschmolzen war; sie steht wieder als Liste. Dasselbe gilt für „Für wen" und für „Worauf die Aufgabe beruht" — die Gesetze und Satzungen stehen einzeln statt in einer Zeile mit 442 Zeichen. Wo sich ein Text nicht verlustfrei zerlegen lässt, bleibt er unverändert ein Absatz; sehr lange Beschreibungen zeigen ihren ersten Absatz und den Rest auf Klick. (#591)
- •Der Streit ums Geld, das Haushaltsjahr und das Labor lesen sich jetzt wie der Rest des Haushalts. Die Wortbeiträge aus den Haushaltsdebatten liefen über die ganze Kartenbreite — bei einem aufgeklappten Beitrag von 8.735 Zeichen waren das rund 130 Zeichen je Zeile, kursiv, ohne einen einzigen Absatz. Sie stehen jetzt in derselben Lesespalte wie der übrige Fließtext des Bereichs; am Wortlaut, an der Reihenfolge und an der Vorschau ändert sich nichts. Wer wie oft zu Wort kam, steht als Chip-Reihe mit den gewohnten Fraktionspunkten statt als aneinandergereihte Wortkette. Im Haushalts-Labor sind „Wie verlässlich ist der Plan?" und „Was dagegen rechnet" aus der schmalen Seitenspalte unter die Regler gewandert — dort quetschten sie sich in 330 Pixel, während daneben eine halbe Bildschirmbreite leer blieb. Auf der Jahres-Seite stehen die zehn Fachausschüsse als einzelne Marken statt als eine lange Zeile, und die Herkunftsangabe am Seitenende trägt endlich dieselbe Karte wie alle anderen Quellenhinweise. Beim Städtevergleich versprach die Überschrift „Grundsteuer B — der Sprung zur Reform" ein Vorher-Nachher, das die Seite gar nicht zeigen konnte: Die Hebesätze liegen uns bisher nur für ein Jahr vor. Jetzt sagt sie das, statt einen Vergleich anzukündigen, der nicht kommt. (#592)
- •Die Haushaltsübersicht erklärt Planwerte, Pro-Kopf-Zahlen und Diagramme jetzt verständlicher. Fachbegriffe und wichtige Einschränkungen bleiben erhalten, während missverständliche Bilder und unnötig technische Formulierungen entfallen.
- •Die Unterseiten zum Oldenburger Haushalt erklären Fachbegriffe und Zahlen jetzt verständlicher. Plan- und Istwerte, Ergebnis- und Finanzhaushalt sowie die Grenzen einzelner Vergleiche werden klarer voneinander unterschieden; unnötig bildhafte und selbstreferenzielle Formulierungen entfallen.
- •Der Weg durch den Haushalt ist jetzt eine große, animierte Route statt einer kleinen Linkliste. Vier Etappen hängen an einem SVG-Pfad, der sich beim ersten Sichtkontakt zeichnet. Alle zwölf Fragen bleiben direkt anwählbar, besuchte Schritte werden weiterhin nur im eigenen Browser gemerkt und ein sichtbarer Knopf startet den Weg auch beim allerersten Besuch. Die Route steht nun direkt nach der kurzen Haushaltserklärung, bevor die Übersicht in ihre Detailgrafiken einsteigt. Auf kleinen Bildschirmen wird der geschlungene Pfad zu einer senkrechten Leselinie, ohne Etappen zu verstecken. (#791)
- •„Woher das Geld kommen soll" zeigt jetzt Flächen statt Balken. Auf der Haushalts-Übersicht standen die zehn Ertragsarten des Planjahres als Balken auf einer Schiene von null bis zum größten Posten. Die beantwortete, wer größer ist als wer — nicht die Frage, die darüber steht: Steuern nahmen die volle Breite ein, weil sie der größte Posten sind, nicht weil sie fast die Hälfte der Erträge sind. Jetzt zerlegt eine Kachelfläche die Summe, jeder Posten in seiner eigenen Farbe: Fläche heißt Anteil, und wer eine Kachel überfährt, antippt oder mit Tab ansteuert, liest darunter Name, Langfassung, Betrag und Prozentwert. Die kleinsten Posten — 2026 sind das Auflösung von Sonderposten, Transfererträge und Eigenleistungen — stehen als ein schraffierter Sammelposten in der Fläche, damit kein Posten zum unlesbaren Farbfleck wird; ihre Namen und Beträge stehen in der Legende und erscheinen beim Überfahren des Sammelpostens. Auf dem Telefon bleibt es bei der Liste. Nebenbei sind zwei Anzeigefehler derselben Grafik weg: Auf den blassesten Kacheln des Investitionen-Explorers stand weißer Text auf fast weißem Grund, und lange Namen wie „Transfererträge" brachen mitten im Wort ab. (#711)
- •Bankverbindungen und Anschriften stehen gar nicht mehr in der Datenbank. Bisher wurden sie nur aus der Suche herausgehalten. Jetzt werden sie schon beim Einlesen entfernt, und der vorhandene Bestand ist einmal durchgegangen worden: 81 Bankverbindungen und rund 1.450 Anschriften sind weg. Telefonnummern und E-Mail-Adressen bleiben gespeichert — sie helfen dabei, eine Fundstelle im Originaldokument wiederzufinden — und werden weiterhin aus der Suche herausgehalten. Straßennamen bleiben unangetastet, sonst verschwände die halbe Investitionsplanung. (#681)
- •Was gebaut wird und was daraus wurde, steht jetzt auf einer Seite. Plan und Ist derselben Sache lagen bisher auf zwei Seiten in zwei verschiedenen Etappen — wer wissen wollte, was aus einem Vorhaben geworden ist, musste die Seite wechseln. Unter *ratslotse.de/haushalt/investitionen* stehen beide als Abschnitte untereinander. Wichtig dabei: Die beiden Summen zählen nicht dasselbe und lassen sich nicht voneinander abziehen — der Plan ist nach Teilhaushalten gegliedert, das Ist nach Auszahlungsarten. Dieser Einwand stand bisher am Seitenende; jetzt steht er vor den Ist-Zahlen, weil die Subtraktion dort naheliegt, wo beide Zahlen untereinander stehen. (#701)
- •Die Investitionsgrafik ist leichter zu lesen: Eine einheitliche Balkenfarbe zeigt jetzt nur noch die geplanten Auszahlungen. Zuschüsse, Verkäufe und Beiträge stehen separat als Betrag und Anteil darunter.
- •- Zeigt „Frag den Rat" mehrere „Worum geht es?"-Steckbriefe, stehen am Desktop jetzt Blätter-Pfeile neben den Indikator-Punkten — die Punkte allein waren mit der Maus schwer zu treffen. Ihre Klickfläche ist außerdem größer; auf dem Telefon bleibt Wischen der Weg. - Die Vorschlags-Pillen unter einer Antwort laufen am Desktop nicht mehr hart abgeschnitten in die Blätter-Pfeile: Die Pfeile schweben über den Zeilen-Enden, und die Pillen blenden dort weich aus. (#651)
- •Keine Mail, wenn sich nur die Nummern verschieben. Fällt in einer Tagesordnung oben ein Punkt weg oder kommt einer dazu, rückt der ganze Rest geschlossen nach — gleiche Punkte, gleiche Reihenfolge, neue Nummern. Dafür geht jetzt keine Benachrichtigung mehr raus; auf der Sitzungsseite steht die Verschiebung weiterhin unter „Zuletzt geändert". Wandert ein Punkt dagegen wirklich an eine andere Stelle, oder kommt neben dem Versatz eine Vorlage, eine Anlage oder ein neuer Punkt dazu, wird wie bisher gemeldet. (#761)
- •Kleinigkeiten auf der Kennzahlen-Seite. Der Hinweis „Eine Zahl antippen zeigt ihren Verlauf" stand dreimal untereinander und steht jetzt einmal; aus „aus 6 Berichten" wurde „aus sechs Berichten". (#633)
- •„Wie hoch sind die Schulden?" hat drei richtige Antworten — die KI-Frage nennt jetzt alle. 43,7 Millionen Euro sind es im Kernhaushalt, 294,9 Millionen für die Stadt samt Eigenbetrieben, 740,3 Millionen für den ganzen Konzern mit allen Beteiligungen. Bisher kam eine davon, und welche, entschied der Zufall. Dazu die 220,3 Millionen Euro, für die die Stadt zusätzlich bürgt — ausdrücklich als eigene Größe, denn eine Bürgschaft ist keine Schuld. (#630)
- •Kontonummern und Kontaktdaten kommen nicht mehr in die Suche. In den Ratsunterlagen stehen Bankverbindungen, Telefonnummern, E-Mail-Adressen und Anschriften — bisher landeten sie mit dem übrigen Text im Suchindex und konnten in Antworten auftauchen. Sie werden jetzt herausgenommen, bevor der Text indiziert wird; gespeichert bleibt er unverändert, damit Belege weiter auf die richtige Stelle im Dokument zeigen. Namen bleiben stehen: Ratsmitglieder, Amtsleitungen und Antragstellende gehören zur Sache. Und Straßennamen bleiben selbstverständlich auch — sonst verschwände die halbe Investitionsplanung. (#679)
- •„Was dieser Vergleich nicht kann" nutzt die Breite. Der Block auf der Konzern-Seite hielt seinen Text in einer schmalen Spalte, während daneben die halbe Karte leer blieb. Auf breiten Karten stehen die vier Punkte jetzt in zwei Spalten — die Fläche ist gefüllt, die Zeile bleibt lesbar. Über die volle Breite in einer Spalte wäre der falsche Tausch gewesen: Bei 1.400 Pixeln stünden dort 180 Zeichen je Zeile. (#693)
- •Die Labor-Regler laufen in beide Richtungen. Freiwillige Leistungen lassen sich jetzt auch aufstocken statt nur kürzen, die Hundesteuer reicht von „abschaffen" bis „verdoppeln" — „heute" steht überall in der Mitte, wie bei den Hebesätzen. Wer mehr ausgibt oder auf Einnahmen verzichtet, sieht ehrlich „Das Minus wächst um …" statt eines leeren Balkens. (#728)
- •Das Haushalts-Labor ist wieder eine eigene Seite. Es stand seit dem Zusammenlegen der Etappen als dritter Abschnitt auf „Mitreden" — jetzt hat es als Schritt 12 wieder eine eigene Adresse (
/haushalt/labor), denn es soll deutlich mehr Stellschrauben bekommen. Anders als vor dem Umbau führen nun auch die Mitreden-Seite, der Steuer-Steckbrief und die Weiter-Navigation dorthin. (#707) - •Das Haushalts-Labor bekommt mehr Spielraum — und seine Vorhaben erklären sich. Die Hebesatz-Regler laufen jetzt ±100 statt ±50 Punkte: Damit ist auch Wolfsburgs Gewerbesteuer-Niveau (360 %) erreichbar, das vorher unterhalb des Reglers lag. Der Lücken-Balken läuft in beide Richtungen — wer den Hebesatz senkt oder aufstockt, sieht das gewachsene Minus als orangen Balken statt einer leeren Anzeige. Bei den Vorhaben aus dem Investitionsprogramm hat jeder Schalter einen Namen (die 14,8-Mio.-Zeile heißt „SG Kreyenbrück Nord" — der Name stand im Dokument nur an der Sachkonto-Zeile), generische Namen zeigen ihre Detailzeilen (der „Eigenkapitalzuschuss" geht an die Stadion-GmbH), jede Zeile führt per Lupe in die Beschluss-Suche, und ein Satz erklärt, warum das Programm so viel Fliegerhorst und keine Schulen einzeln nennt. Wer Vorhaben streicht, bekommt in der Ergebnis-Karte gesagt, warum sich das Minus dabei kaum bewegt: Investitionen wirken auf Kasse und Schuldenpfad, im Jahresergebnis stehen nur die Abschreibungen. (#757)
- •Lange Texte im Haushalts-Bereich füllen die Karte, statt rechts ein Loch zu lassen. Wo ein Text der eigentliche Inhalt einer Karte ist — die „Was hier fehlt"-Listen, die Leistungen eines Produkts, die Herkunft der Beratungsstationen —, läuft er auf breiten Schirmen jetzt in zwei bis drei Spalten. Die Fläche ist damit gefüllt und die Zeile zugleich kürzer als vorher (rund 70 statt 95 Zeichen). Auf schmalen Karten und am Telefon ändert sich nichts. Vier Textblöcke liefen außerdem deutlich breiter, als sie sollten — bis zu 122 Zeichen je Zeile gegenüber 95 in ihrer Nachbarschaft. Ursache war eine verrechnete Einheit, kein Gestaltungswille; sie stehen jetzt so breit wie der Rest des Bereichs. (#746)
- •Die Änderungslisten erklären sich jetzt selbst. Bisher stand unter „Was in den Listen stand" zehnmal „Beteiligungen" mit zehn Beträgen — was sich dahinter verbirgt, blieb im PDF. Jetzt liest Ratslotse auch die Erläuterungs-Spalte der Dokumente: An jeder Position steht der Text der Verwaltung, was diese Änderung ist („VWG: Der Entwurf des Wirtschaftsplans 2026 weist einen Zuschussbedarf von 16.493.040 Euro aus …"). Die Zuordnung der oft mehrzeilig umbrochenen Texte folgt den gedruckten Tabellenlinien des Dokuments — Geometrie statt Schätzung; wo das nicht eindeutig ist, bleibt das Feld lieber leer. Über 99 % der Positionen aller Jahrgänge 2019–2026 tragen so ihre Erklärung. (#744)
- •Lotti auf der Startseite trägt jetzt die Jahreszeit. Die 3D-Szene nutzt das überarbeitete Lotti-Modell (spitzer Schnabel, Augen mit Pupille, Kopf-Gelenk) und zeigt das Wetter der Saison: Schnee im Winter, Blüten im Frühjahr, Sonne im Sommer, treibende Blätter im Herbst — und Lotti ist passend angezogen, vom kühlen Winterschal mit Ohrenschützern bis zur Sonnenbrille. Dieselben Outfits und Farben wie beim gezeichneten Fallback. (#724)
- •Die Lücken-Hinweise bei den Zuwendungen wiederholen sich nicht mehr. Vier der sechs Felder auf „Woher das Geld kommt" endeten wortgleich mit derselben Deutung — „entweder hat der Rat die Liste geändert oder eines der beiden Dokumente trägt einen Zahlendreher". Der Satz gilt für alle Fälle dieser Art und steht jetzt einmal über der Liste; in jedem Feld stehen nur noch die Zahlen, um die es dort geht. Vorgelesen wird dadurch weniger, gesagt wird dasselbe. (#725)
- •E-Mails sagen, warum sie kommen — und wo man das ändert. Tagesordnungs- Mails nennen jetzt den Grund („weil du das Gremium … abonniert hast") und verlinken direkt auf die Stelle, an der sich das Abo oder der Schalter ändern lässt; die Ziel-Seite hebt den gemeinten Schalter kurz hervor, und der Link überlebt einen nötigen Login-Umweg. Auch die Fußzeile jeder E-Mail führt mit „Mein Konto" jetzt direkt zu den Zustellungs-Einstellungen. (#747)
- •- Die interne Bild-Ablage des Social-Bots nimmt jetzt auch andere Kennungen als ein Datum entgegen — Fundstücke, Beschluss-Karten und Sitzungstag-Stories brauchen jeweils eigene. (#652)
- •Auch große Merklisten bleiben jetzt übersichtlich. Gemerkte TOPs und Beschlüsse werden nach Sitzung gebündelt und zunächst kompakt dargestellt. Eine Suche und die Filter „Offen“, „Entschieden“ und „Sitzungen“ führen direkt zum gesuchten Eintrag. Unterschiedlich lange Karten richten ihren Benachrichtigungsbereich außerdem sauber am unteren Rand aus. (#767)
- •Gemerkte TOPs benennen die Wartephase nach einer Sitzung jetzt eindeutig. Solange das öffentliche Protokoll noch nicht vorliegt, steht in der Merkliste „Sitzung vorbei · Protokoll ausstehend“ statt des ungenauen „Ergebnis folgt“. (#764)
- •„Mitreden" ist jetzt eine Seite statt dreier. Der Haushalts-Bereich war auf neunzehn Schritte gewachsen, und mehrere davon waren entlang unserer Einlese-Geschichte geschnitten statt entlang der Frage, die jemand hat. Wann über den Haushalt entschieden wird, worüber die Fraktionen gestritten haben und was passiert, wenn man selbst an den Stellschrauben dreht — das ist eine Frage und steht jetzt unter *ratslotse.de/haushalt/mitreden* als drei Abschnitte mit einer Navigation am Kopf. Nichts ist weggefallen, alte Links leiten weiter. Nebenbei repariert: Der Gewerbesteuer-Hebesatz im Haushalts-Labor stand als feste Zahl im Code, obwohl die Seite die Hebesatz-Reihe als Quelle nannte — er kommt jetzt wirklich von dort und wird nicht mehr still veralten. (#698)
- •Beschlussorte werden auf der Stadtkarte sichtbar und prüfbar. Ein Klick öffnet das Ortsprofil oder eine exakt auf Straße, Gebäude, Platz oder Gewässer gefilterte Beschlussliste. Im Admin-Bereich lassen sich häufige Ortskandidaten anhand von Beschluss-Stichproben als Katalogort freigeben, einem bestehenden Ort als Alias zuordnen, verwerfen oder erneut öffnen. Die offene Liste beginnt ab drei verschiedenen Beschlüssen; geprüfte Einträge bleiben immer sichtbar. Freigegebene Kandidaten und ihre Aliase verwenden Beschlusssuche, KI-Frage, Ortsprofile, Quiz und künftige Beschlussimporte über denselben Laufzeitkatalog. (#778)
- •Der Fraktions-Filter im Personen-Verzeichnis führt Fraktionen, keine Zusammenschlüsse. „Mitglied der Gruppe FDP/Volt" ist niemand — man gehört der FDP an oder Volt. Wer ausschied, während es die Gruppe noch gab, blieb im Verzeichnis trotzdem für immer „FDP/Volt", und der Filter zeigte unter diesem Eintrag nur ihn statt aller FDP-Leute. Jetzt löst das Verzeichnis solche Gruppen-Label auf — belegt über die Ratsinfo-Stammdaten oder die eigene Anwesenheits-Historie, nicht geraten: Dr. Christiane Ratjen-Damerau und Benno Schulz stehen als FDP, Jens Lükermann als Volt. Wo sich nichts belegen lässt, bleibt das Gruppen-Label auf der Karte stehen, die Person erscheint im Filter aber unter beiden Parteien. Eigenständige Gruppen — „Für Oldenburg", „IBO/LiVe", „WFO-LKR" — bleiben, was sie sind. Ein Verein ist keine Ratsgruppe. „Gemeinsam für Oldenburg e.V." wurde als Ratsgruppe „Für Oldenburg" gelesen und machte einen Verbandsvertreter zum Gruppenmitglied. (#699)
- •Die Balken auf „Muss oder kann?" sind jetzt ablesbar. Der Größen-Balken jedes Bereichs maß bisher den Anteil am größten Bereich — ein Maßstab, der nirgends auf der Seite stand. Jetzt zeigt er den Anteil an allen geplanten Ausgaben, und genau diese Zahl steht als Text an seinem Ende („32 % aller Ausgaben"). Der zweite Streifen, die Spielraum-Angabe der Stadt, war in 9 von 10 Bereichen einfarbig und ohne Legende nicht zu entschlüsseln; er entfällt dort, wo der Satz dieselbe Auskunft trägt, und wird zur richtigen Grafik mit Legende und Beträgen, wo die Angaben sich wirklich über mehrere Stufen verteilen. (#722)
- •Die Produktkarte öffnet sich, statt eine zweite darunter zu setzen. Beim Antippen klappte der Steckbrief bisher als eigene Karte unter der angetippten auf — zwei Kästen für eine Sache. Jetzt sind es einer: derselbe Rahmen um Kopf und Inhalt, eine Haarlinie dazwischen. (#629)
- •Prüfung und Kennzahlen stehen jetzt nebeneinander. „Die Prüfung" und „Die dreizehn Zahlen" waren zwei Schritte, beantworten aber dieselbe Frage aus zwei Richtungen: Wie ist es gelaufen — von außen geprüft, von innen zusammengefasst. Unter *ratslotse.de/haushalt/pruefung* stehen beide als Abschnitte einer Seite. Nebeneinander sind sie mehr wert als hintereinander: Die Kennzahlen sagen, wie die Stadt dasteht, die Feststellungen, wie verlässlich diese Auskunft ist. (#700)
- •Die Beispielfragen in „Frag den Rat“ zeigen jetzt auch Stadtteil- und Projektrecherchen. Im leeren Chat wechseln allgemeine Fragen zu Eversten, Osternburg und zum Innovationsquartier Alte Fleiwa sowie zum jüngsten Beschluss in Kreyenbrück durch den bestehenden Vorschlagspool. (#805)
- •Das Quellenverzeichnis zählt jetzt Papiere, nicht Kategorien. Über sieben Wirtschaftsplänen aus sieben Eigenbetrieben stand „1 Quelle" — nach der alten Regel richtig gerechnet, denn nummeriert wurden Quellen*arten*. Trotzdem war es die falsche Auskunft: Wer die Zeile liest, soll sehen, worauf eine Seite ruht. Jetzt trägt jeder Betrieb seine eigene Ziffer, das Verzeichnis nennt sieben Quellen, und die Beschreibung der Quellenart steht weiterhin genau einmal darüber. Wo eine Aussage dagegen auf mehreren Papieren zusammen ruht — die Produktebene verteilt sich auf zehn Teilhaushalts-Anlagen —, bleibt es bei einer Nummer; eine davon herauszugreifen wäre weniger genau, nicht mehr. Außerdem behoben: Drei Belege auf zwei Seiten zeigten auf Quellen, die ihre Seite nie angemeldet hatte, und rendeten deshalb gar nichts — die Sätze endeten mit einer Fußnote, die es nicht gab. Umgekehrt führte die Prüfungs- Seite eine Quelle im Verzeichnis, von der keine einzige Zahl der Seite stammt. (#690)
- •Die Haushalts-Frage nach der Kostendeckung fragt jetzt nach Millionen. Bisher war zu raten, welcher Bereich den größten Teil seiner Ausgaben durch eigene Einnahmen deckt — eine Quote, die ein Ziel behauptet, das es nicht gibt: Straßen, Kultur und Grünflächen sollen sich nicht selbst finanzieren. Gefragt wird stattdessen, welcher Bereich selbst am meisten einnimmt, in Millionen Euro; die Auflösung sagt dazu, was die Haushaltsübersicht offenlässt — nämlich wie viel davon von Bund und Land kommt und wie viel aus Gebühren. Die Diagramme der Quiz-Auflösung zeichnet außerdem derselbe Grafik-Baukasten wie den Haushalts-Bereich: Balken mit sichtbarer Skala statt schwebender Streifen, eine Zeitreihe mit Achse und Ablesehilfe statt einer nackten Linie, und der Anteil als Leiste statt als Kreis. (#584)
- •- Der Rechercheplan verknüpft Informationsbedarfe mit den dafür notwendigen Ratslotse-Kanälen. Debatten, Presse und kommende Beratungen werden nur noch gesucht, wenn der gültige Plan sie braucht; bei einem ungültigen Plan bleibt das bisherige Verhalten als sicherer Fallback erhalten. „Aktuelle Informationen“ werden feiner in offizielle Veröffentlichungen und zukünftige Termine getrennt; eine reine Zukunftsfrage zieht dadurch keine Pressekarte mehr hinzu. (#796)
- •Die Sammel-Mail zeigt jetzt alles. „n Neuigkeiten aus dem Rat" war bisher eine nackte Linkliste. Jetzt erklärt die Mail, warum gebündelt wird — damit das Postfach ruhig bleibt, statt vieler Einzel-Mails —, und jede Neuigkeit steht mit dem vollen Inhalt ihrer Einzel-Mail darin: Sitzungstermin und Ort, die Zusammenfassung der Tagesordnungspunkte und die Wege in die App. (#747)
- •Die Punkte im Kopf der Haushalts-Seiten führen jetzt irgendwohin. Der Schritt-Pfad oben rechts zeigte bisher nur, wo im Weg man steht — angeklickt landete man immer beim Wegweiser, egal auf welchem Punkt. Jetzt ist jeder Punkt der Link auf seinen Schritt: Wer darauf zeigt, liest den Titel der Seite dahinter, und ein Klick geht direkt hin. Die Zeile darunter („Schritt 5 von 12 · Die Zahlen") bleibt und führt weiter zur ganzen Liste. (#754)
- •Jeder Schritt des Haushalts-Wegs trägt jetzt ein eigenes Zeichen. Es steht als Kachel oben auf der Seite, klein in den Zeilen des Wegweisers und im „Weiter"-Link am Seitenfuß — dieselbe Form an allen drei Stellen, damit man eine Seite wiedererkennt, statt zwölf Titel zu vergleichen. Nebenbei füllt die Kachel die leere Ecke rechts neben dem Einleitungstext, die auf breiten Schirmen bisher einfach frei blieb. (#723)
- •Die Schwankungs-Grafik sagt jetzt, was sie misst. Über zwei Balken mit 13,2 % und 2,8 % stand „Veränderung zum Vorjahr, im Mittel 1998–2025" — das ließ sich als „die Gewerbesteuer ist um 13,2 % gestiegen" lesen oder als „über den ganzen Zeitraum um 13,2 % gewachsen". Gemeint ist keins von beidem: Der Balken zeigt, wie weit das Aufkommen in einem durchschnittlichen Jahr ausschlägt, nach oben wie nach unten. Der Lesesatz steht jetzt über den Balken statt als Fußnote darunter, und was die Zahl nicht ist, steht ausdrücklich dabei. (#740)
- •Die KI-Frage kennt jetzt Sitzungen. „Was hat der Jugendhilfeausschuss am 17.06.2026 beschlossen?" beantwortete die Ähnlichkeitssuche bisher mit ihren besten Treffern — bei einer echten Nutzerfrage fehlte so die halbe Tagesordnung, darunter ein echter Beschluss. Nennt die Frage jetzt ein Sitzungsdatum oder die letzte/nächste Sitzung eines Gremiums, wird die Sitzung im Sitzungskalender aufgelöst und ihre Beschlüsse gehen vollständig und in Tagesordnungs-Reihenfolge in die Antwort ein. Steht die Sitzung noch bevor oder ist ihr Protokoll noch nicht ausgewertet, sagt die Antwort das ehrlich — samt Termin und Tagesordnung, statt Beschlüsse anderer Sitzungen unterzuschieben. Bei vergangenen Sitzungen erklärt sie dabei auch, dass die Stadt Protokolle in der Regel erst einige Wochen nach dem Termin veröffentlicht — das Fehlen ist der normale Ablauf, kein Fehler. (#730)
- •Der Sortier-Umschalter der Bereichslisten sagt, dass er sortiert. „Nach Ausgaben" und „nach Kosten für die Stadt" klangen wie zwei Wörter für dasselbe, und der Schalter sah aus, als würde er die Ansicht wechseln — dabei ordnet er nur die Zeilen um. Jetzt steht „Reihenfolge" davor, und die Optionen sind ein Verb-Paar, das den Unterschied trägt: „was ein Bereich ausgibt" gegen „was die Stadt zuschießt". Die Balken-Legende spricht dieselbe Sprache — der dunkle Teil heißt „schießt die Stadt zu (allgemeiner Topf)", der helle „nimmt der Bereich selbst ein" — statt wie bisher denselben Wert dreimal anders zu benennen. (#718)
- •Das Ende des Steuer-Steckbriefs liest sich nicht mehr wie eine Textwüste. Wo bisher zwei gleich aussehende gestrichelte Kästen untereinanderstanden — „Was brächte ein Punkt mehr?" und „Dazu hat der Rat entschieden" —, steht jetzt ein Block „Was hier (noch) nicht steht" mit zwei Einträgen, jeder mit eigenem Zeichen und Überschrift. Beide sagen dasselbe: was wir an dieser Stelle nicht belegen können. Das gehört zusammen und nicht zweimal hintereinander. (#713)
- •Die Tabellen im Streit-Abschnitt sind jetzt als Tabellen lesbar. Bei „Was in den Listen stand" wanderte die Grenze zwischen Ertrag und Aufwand je nach Füllung der Zeile — jetzt ist es eine echte Tabelle mit einem Spaltenraster, Spaltenlinien und einem Kopf, der beim Scrollen langer Listen sichtbar bleibt; die Summe der Liste ankert die Spalten am Fuß. Pluswerte sind grün, Minuswerte orange — die Farbe zeigt die Richtung der Änderung, kein Urteil. Und die Verhandlungsbilanz erklärt ihre Zahlen selbst: Aus der kryptischen Doppelspalte „Ein · durch" wurden zwei beschriftete Spalten „Eingebracht" und „Mit Mehrheit", mit Linien dazwischen. (#745)
- •„Meine Themen" und die Ausschuss-Abos sind jetzt zwei Seiten. Die Abos hingen als Block unter den Themen: Wer sie ändern wollte, musste an allen Themen vorbeiscrollen, und die Themen bekamen nur so viel Platz, wie darüber übrig blieb. Jetzt hat jede der beiden Arten, dem Rat zu folgen — ein Anliegen oder ein ganzes Gremium — ihre eigene Seite und ihren eigenen Weg in der Navigation. Die Themen zeigen, was drinsteht. Eine Themen-Karte trug bisher eine Zahl und einen einzigen Titel; wer wissen wollte, was sich getan hat, musste jedes Thema einzeln öffnen. Jetzt stehen die fünf jüngsten Beschlüsse direkt auf der Karte — mit Datum, Gremium und Ergebnis, die noch ungelesenen mit einem Punkt davor. Dazu eine Zeile, die sagt, ob ein Thema gerade läuft oder ruht („12 gesamt · 3 in 30 Tagen"), und ein Thema ohne Treffer nennt offen den Tag, seit dem es beobachtet wird. Die Abo-Seite sagt, worauf man sich einlässt. Neben jedem Gremium stehen die nächste Sitzung und die Zahl seiner Beschlüsse in diesem Jahr; abonniert und offen sind zwei getrennte Listen. Gremien ohne angekündigten Termin zeigen keinen — statt einen zu erfinden. (#821)
- •Ein neues Thema kennt seine Beschlüsse sofort. Bisher zählte nur ein wöchentlicher Lauf, welche Beschlüsse zu einem Thema gehören — wer am Montag „Schulbegleitung" anlegte, sah bis Sonntag eine 0 und darunter den Satz „Noch keine Treffer, wir melden uns, sobald der Rat dazu entscheidet". Dabei hatte der Rat seit 2018 vierunddreißigmal dazu entschieden; es las sich, als sei das Thema erst mit dem Anlegen aufgekommen. Jetzt wird beim Anlegen und nach jeder Änderung der Beschreibung sofort gerechnet, mit demselben Maß wie bisher — die Zahl auf der Karte und die Liste hinter „alle ansehen" stimmen vom ersten Moment an überein. Der so gefundene Bestand gilt dabei ausdrücklich nicht als Neuigkeit: Er taucht weder als „n neu" auf dem Thema auf noch sonntags im Wochenüberblick. Und wenn die Rechnung einmal ausfällt, sagt die Karte „Treffer werden noch gezählt", statt eine 0 zu zeigen, die wie ein Befund aussieht. (#818)
- •- Die Wochen-Vorschau wählt ihre Tagesordnungspunkte besser aus: Sie berücksichtigt jetzt, ob die Verwaltung etwas zur Entscheidung vorlegt oder nur berichtet. Bisher fielen echte Beschlüsse wie die Fahrpreis-Anpassung im Nahverkehr durch, während ein Bericht zum Umsatzsteuerrecht auf der Karte stand. - Mehrere Stationen desselben Vorhabens („Bauleitplanung Meerweg" mit Aufstellungsbeschluss und Grundzügen der Planung) belegen nur noch einen Platz statt drei. Sammel-Rubriken wie „Anträge der Fraktionen" bleiben getrennt — dort ist jeder Punkt ein eigenes Thema. - Die Vorschau nennt jetzt, wie viele Themen eine Sitzung insgesamt hat, nicht nur wie viele davon als besonders relevant gelten. (#647)
- •Nummern-Verschiebungen stehen nur noch einmal da. Fällt in einer Tagesordnung oben ein Punkt weg oder kommt einer dazu, rutscht der ganze Rest um eine Nummer — „Zuletzt geändert" und die Änderungs-Mail trugen dafür bisher ein Dutzend gleichlautender Zeilen, zwischen denen die eigentliche Änderung unterging. Solche Kaskaden werden jetzt zu einer Zeile zusammengefasst („14 Punkte rücken eine Nummer nach vorn — jetzt TOP Ö 21 bis Ö 33"). Punkte, die wirklich an eine andere Stelle wandern, behalten ihre eigene Zeile. (#756)
- •Ein Tipp aufs ⓘ zeigt, was dort passiert ist. In den Zeitreihen des Haushalts-Bereichs erscheint die Erklärung zu einem markierten Jahr jetzt in der Wertzeile unter der Grafik, sobald man das Jahr antippt, überfährt oder mit den Pfeiltasten ansteuert — auf dem Handy bleibt sie beim Wischen sichtbar. Die doppelte Textliste unter jeder Grafik entfällt dafür. (#621)
- •Die Anmerkungen der Zeitreihen stehen jetzt als Chips über der Grafik. Jede markierte Stelle trägt einen antippbaren Chip mit Jahr und Kurzfassung — auf jeder Bildschirmgröße lesbar, weil die Zeile umbricht statt im Bild zu kollidieren. Chip und ⓘ-Marke wählen beide das Jahr; der ganze Erklärsatz erscheint dann in der Wertzeile. (#622)
- •Der Zuwendungs-Block auf „Woher das Geld kommt" sagt jetzt zuerst, worum es überhaupt geht. Neben der Summe steht, was eine Zuwendung ist — Spenden und Schenkungen an die Stadt, Geld ebenso wie Sachen, und warum jede einzelne davon ein Gremium beschließen muss. Dazu ein Absatz darüber, dass diese Summe sonst nirgends getrennt ausgewiesen wird. Die Erklärstücke stehen auf breiten Schirmen zweispaltig statt als schmale Textspalte in einer halb leeren Karte; die Jahreskurve steht unter ihrer Kennzahl statt über die halbe Seite gezogen. (#719)
Verbessert
- •Das Flussbild zeigt wieder eine Grafik — und sagt dazu, von wann sie ist. Für Jahre ohne Jahresabschluss stand zuletzt nur ein Hinweis und sonst nichts. Jetzt steht dort das jüngste Jahr, für das die Aufschlüsselung vorliegt, mit einer Ansage darüber: welches Jahr fehlt, warum, und wann es üblicherweise vorgelegt wird. Der Termin kommt aus denselben Daten wie der Datenstand am Seitenfuß — für den Jahresabschluss 2025 also „September 2026". (#PR)
Behoben
- •Aufräumen im Fundament des Haushalts-Bereichs, ohne sichtbare Folgen, aber gegen Fehler, die sonst beim nächsten Ausbau entstanden wären: Die Einlese-Pipelines fragen ihre Datenart jetzt an einer Stelle statt an zweien (vorher konnte eine Änderung an der einen von der anderen still ignoriert werden); fünf Beschreibungen desselben Herkunfts-Formats sind zu einer geworden, nachdem drei von ihnen bereits auseinandergelaufen waren; und die Breitenmessung der Diagramme steht einmal statt viermal. (#567)
- •Ein Testwächter fiel, weil zwei Änderungen sich nicht kannten. Der Wächter über den Haushalts-Bereich prüfte, dass die Geld-Abfragen der KI-Frage abgesichert laufen — und suchte sie an der Stelle, an der sie beim Schreiben standen. Parallel zog eine andere Änderung sie an einen besseren Ort. Die Absicherung war die ganze Zeit da, der Wächter schlug trotzdem an. Er prüft jetzt die Eigenschaft statt den Ort. Nebenbei stimmen die Angaben „elf Schritte, vierzehn Seiten" wieder mit dem überein, was der Bereich tatsächlich hat. (#552)
- •Vier weitere Stellen im Haushalts-Bereich ließen die halbe Breite leer. Auf „Woher das Geld kommt", „Was kostet eigentlich …?" und im Städtevergleich standen je zwei Absätze untereinander, die Verschiedenes sagen — zusammen nutzten sie rund 600 von 1136 Pixeln, während Karten, Listen und Zitate direkt darunter die volle Breite nahmen. Dieselbe Karte behauptete damit zwei verschiedene Textbreiten. Sie stehen jetzt nebeneinander, sobald der Platz für zwei vollwertige Lesespalten reicht; im Städtevergleich rückt der Beleg aus dem Ratsinformationssystem neben das Argument, das ihn ankündigt, und die drei Vergleichsstädte stehen nebeneinander statt untereinander — sie sind der Vergleich, um den es dort geht. Die Zeilenlänge bleibt überall zwischen 62 und 74 Zeichen: breiter zu setzen hätte den leeren Platz gefüllt und das Lesen verschlechtert. Ob zwei Spalten passen, entscheidet der Platz des Blocks selbst und nicht die Fensterbreite — am Desktop liegt er neben der Seitenleiste, auf dem Tablet nicht. Die übrigen elf durchgesehenen Seiten bleiben unverändert: Dort steht je ein einzelner Absatz über einer Grafik, und das ist die richtige Form. (#557)
- •Der Erklärblock zum Finanzausgleich ließ die halbe Karte leer. Zwei Absätze, die Verschiedenes sagen, standen untereinander und brachen bei 74 Zeichen um — daneben blieb Platz. Sie stehen jetzt auf breiten Bildschirmen nebeneinander. Die Zeilenlänge bleibt: breiter zu setzen wäre schlechter zu lesen, nicht besser. (#PR)
- •Der Kopf einer Bereichsseite ließ die halbe Breite leer. Text und Kennzahlen standen untereinander, obwohl die drei Zahlen daneben Platz gehabt hätten. Ab großen Bildschirmen stehen sie jetzt nebeneinander. Die Absätze behalten ihre Zeilenlänge von 66 bis 68 Zeichen — längere Zeilen wären schwerer zu lesen, nicht besser. (#PR)
- •Was einzelne Aufgaben kosten, endete bei 2023 — obwohl die Pläne längst vorlagen. Die Stadt hat mit dem Haushaltsplan 2025 zwei Zeilen in ihre Tabellen eingezogen: Zwischen „21. ordentliches Ergebnis" und den Zahlen stehen seitdem „Jahresüberschuss(+)" und „/Jahresfehlbetrag (-)". Der Parser suchte die Kolonne direkt hinter der Beschriftung, fand sie nicht mehr — und weil ohne diese Zeile die Rechenprobe *Erträge − Aufwendungen = Ergebnis* nicht aufgeht, fiel jedes einzelne Produkt der betroffenen Jahrgänge durch: 0 von 78 und 0 von 89. Gesucht wird jetzt vorwärts bis zur Zahlenkolonne, aber nur bis zur nächsten Tabellenzeile — ist die eigene Zelle leer, bleibt sie leer, statt sich die Zahlen des Nachbarpostens zu borgen. Damit kommen die Jahrgänge 2024 und 2025 dazu (131 Produkte, 19 Teilhaushalte); an den Jahrgängen 2018–2023 ändert sich keine einzige Zahl. Der Job, der die Lücke gemeldet hat, meldet sie nicht mehr. (#548)
- •Der Nach-oben-Knopf saß auf dem Tablet hinter der Tab-Leiste. Er rückte schon ab 768 Pixeln nach unten, obwohl die Leiste erst auf echten Desktops verschwindet — also auf jedem Tablet und jedem großen Touch-Gerät genau in ihren Bereich. Jetzt hängt seine Position am selben Punkt wie die Leiste selbst. (#PR)
- •Die Überschrift der Anzeigetafel brach mitten im Wort um. „Oldenburg plant 883,9 Mil-/lionen Euro" — dabei blieben rechts daneben rund 400 Pixel frei. Ursache war eine Breitenbegrenzung von 19 Zeichen, die noch aus einer engeren Fassung stammte; die Silbentrennung, die auf schmalen Geräten deutsche Komposita rettet, tat dann ihr Übriges. Der Satz steht jetzt in zwei ausgeglichenen Zeilen. (#539)
- •Der Kassenzettel erklärte etwas, das niemand erklärt bekommen muss. „Keine Rechnung — niemand überweist diesen Betrag" stand im Kasten „Was diese Zahl nicht ist". Dass eine Pro-Kopf-Zahl keine Forderung ist, weiß jede Leserin; der Hinweis las sich belehrend. Geblieben sind die vier Punkte, die tatsächlich überraschen — wer mitgezählt wird, woher das Geld kommt, dass keine Investition darin steckt und warum Städtevergleiche hinken. (#532)
- •Der Herkunfts-Nachweis konnte eine ganze Datenschicht still verlieren. Das Aufräumen der Herkunfts-Einträge und die Meldung fehlender Herkünfte gingen beide eine von Hand gepflegte Tabellenliste durch. Eine neue Datenschicht, die dort vergessen wird — der Eintrag ist ausdrücklich Schritt drei für einen neuen Parser —, war für beide unsichtbar: Ihre Herkünfte galten als verwaist und wurden gelöscht, während ihre Zeilen weiter auf deren Nummern zeigten, und die Lücken-Meldung schwieg dazu. Weil die Nummern danach neu vergeben werden, zeigte so eine Zeile am Ende nicht ins Leere — das wäre aufgefallen —, sondern auf ein fremdes Dokument. Beides fragt jetzt das Datenbankschema statt der Liste; eine vergessene Tabelle ist damit nicht mehr stillgestellt, sondern meldet sich. Aufgefallen ist es am Gesamtabschluss auf der Testumgebung, wo die Jahrgänge 2014–2020 als Quelle einen Teilhaushalts-Plan auswiesen; die Jahrgänge sind neu eingelesen und nennen wieder ihren Prüfbericht. (#537)
- •Die Vergleichsseite nannte den Jahresversatz noch als offene Frage. Sie ist mit #516 beantwortet: Der offene Datensatz der Stadt beschriftete die Steuerkraft ein Jahr zu früh, nachgewiesen an den eigenen Büchern der Stadt. Beide Reihen tragen jetzt dieselbe Jahresangabe. Zusammengerechnet werden sie weiterhin nicht — sie stammen aus zwei Veröffentlichungen, die sich in Nachträgen um kleine Beträge unterscheiden können. (#526)
- •Steuerkraft und Schlüsselzuweisungen standen unter dem falschen Jahr. Der offene Datensatz der Stadt, aus dem wir beide Reihen lesen, beschriftet seine Zeilen um ein Jahr zu früh — die Beträge selbst stimmen, nur die Jahreszahl daneben nicht. Damit nannte die KI-Frage zu einer richtigen Zahl das falsche Jahr, und auf der Seite „Woher kommt das Geld?" stand der Betrag des laufenden Ausgleichsjahres unter dem Vorjahr. Wir rücken die Jahreszahlen jetzt beim Einlesen zurecht. Belegt ist das doppelt: Die Tabellen des Landesamts für Statistik Niedersachsen führen dieselben Beträge auf den Euro genau, aber ein Jahr später (geprüft für die Ausgleichsjahre 2016 bis 2026), und die Haushaltspläne der Stadt weisen dieselben Summen als abgerechnetes Ergebnis des jeweils späteren Jahres aus. Die Pro-Kopf-Spalten des Datensatzes zeigen wir nicht mehr an — sie rechnen gegen die Einwohnerzahl des zu frühen Jahres. Im Quellenverzeichnis steht die Korrektur samt Begründung. (#516)
- •Bei doppelt veröffentlichten Teilhaushalts-Plänen stand die schlechtere Quellenangabe an der Zahl. Sechs Teilhaushalte hängen an zwei Vorlagen — dieselbe Datei, ein zweites Mal unter einem anderen Tagesordnungspunkt hochgeladen. Welche der beiden Angaben an den Zahlen landete, entschied bis jetzt die Sortierreihenfolge, und sie fiel zugunsten der weniger brauchbaren aus: „TOP 5 - Anlage III - THH 08" sagt außerhalb seiner Sitzung nichts, und am Plan für 2018 stand „2019 THH 08" — die falsche Jahreszahl. Jetzt gilt ausdrücklich das zuerst veröffentlichte Dokument, also die Anlage der Haushaltsvorlage selbst. Keine Zahl ändert sich dadurch (die Dokumente sind Byte für Byte gleich, nachgemessen), nur die Angabe daneben. Tragen zwei Dokumente einmal wirklich verschiedene Zahlen — ein Nachtragshaushalt etwa —, wird das künftig gemeldet, statt still überschrieben zu werden. (#515)
- •„Geplant und geworden" behauptete einen Vergleich, den es nicht gab. Wo ein Jahresabschluss keine Planwerte hergibt, machte die Seite aus der fehlenden Zahl eine Null und schrieb: „799,1 Mio. € eingenommen — geplant waren —, also 799,1 Mio. mehr." Darunter stand eine Überschrift samt Legende über einer leeren Grafik. Jetzt nennt die Seite die tatsächlichen Werte und sagt, dass die Bezugsgröße fehlt, statt eine Abweichung zu erfinden. (#512)
- •Deckungsgrad der Produktebene mit englischem Dezimalpunkt. „81.7 %" statt „81,7 %" — mitten in einem Text, der sonst durchgehend Komma schreibt. (#512)
- •„Geplant und geworden": Die kleinen Bereiche waren nicht zu sehen. Auch als Euro-Strecke blieben fünf der zwölf Bereiche kürzer als zwei Prozent der Breite — zwischen −0,7 und +20,5 Mio. liegt zu viel. Die Grafik misst jetzt wahlweise in Prozent des jeweiligen Plans; damit wird die mittlere Strecke fünfmal so lang und ein Bereich von 231 Mio. mit einem von 6 Mio. vergleichbar. Der Umschalter dreht dabei die Reihenfolge: nach Euro steht vorn, wo am meisten Geld anders floss, nach Prozent, wessen Plan am weitesten danebenlag. (#507)
- •„Geplant und geworden": Die Abweichung war nicht zu sehen. Plan und Ergebnis lagen auf einer Skala, die bei null begann — bei einem Bereich mit 6,2 Mio. geplant und 6,3 tatsächlich fielen beide Punkte aufeinander. Die Achse misst jetzt den Abstand zum Plan statt der Höhe des Betrags: Der Nullpunkt ist „wie geplant", die Strecke zeigt, wie weit es davon abwich. Dazu steht die Abweichung auch in Prozent, damit ein großer und ein kleiner Bereich vergleichbar sind. Die Beträge selbst stehen unverändert daneben. (#506)
- •Kostendeckungsgrad über 100 % wurde falsch erklärt. Bei „Finanzmanagement und Recht" — dort verbucht die Stadt ihre Steuern — stand unter dem Wert von 518 %, „der Rest" komme aus Steuern und Zuweisungen. Einen Rest gibt es dort nicht: Der Bereich nimmt mehr ein, als er ausgibt. Der Satz sagt das jetzt, samt Hinweis, dass darin keine besondere Sparsamkeit steckt, sondern die Zuordnung der Einnahmen. (#503)
- •Die Wertzeile unter den Grafiken ist auf dem Handy wieder lesbar. Bei Reihen mit vielen langen Namen — etwa den sechs Investitionsarten — rutschten Name und Betrag auseinander, und das Euro-Zeichen landete allein auf der nächsten Zeile. Jetzt steht auf schmalen Schirmen jeder Eintrag auf einer eigenen Zeile, die Beträge untereinander und damit vergleichbar. (#626)
- •Die Abschnitts-Leiste der Haushalts-Seiten bleibt auf dem Handy sichtbar. Auf Seiten mit mehreren Abschnitten (etwa „Mitreden" oder „Der Konzern Stadt") schob sich die klebende Abschnitts-Leiste beim Scrollen komplett hinter die App-Kopfzeile — am Rechner war sie da, auf dem Handy verschwand sie. Jetzt dockt sie unter der Kopfzeile an; die klebenden Tabellenköpfe und die Sprungziele der Abschnitte rücken entsprechend mit. (#755)
- •Die Begründungen zu den Haushaltsabweichungen hören da auf, wo sie aufhören. Bei der jeweils letzten erläuterten Position lief der Text im Jahresabschluss weiter und nahm ganze Folgekapitel mit — bis zu 7.176 statt rund 600 Zeichen, mit Inhalten, die mit der Position nichts zu tun hatten. Betroffen war jeder der acht Jahrgänge. (#594)
- •Der Beleg-Hinweis passt jetzt auf den Bildschirm. Wer einen Beleg antippte, bekam ein Fähnchen mit dem ganzen redaktionellen Absatz zur Quelle — auf dem Handy reichte es über den Bildschirmrand hinaus und ließ sich nicht zu Ende lesen. Jetzt steht dort nur noch, was die Frage beantwortet, wofür man angetippt hat: an welcher Stelle des Dokuments die Zahl steht, wann der Rat darüber entschieden hat, und der Link dorthin. Alles Weitere steht im Quellenverzeichnis, und ein Knopf führt hin. Außerdem richtet sich das Fähnchen am Fenster aus statt am Absatz: Es klappt nach unten, wenn oben kein Platz ist, und ragt nie mehr seitlich hinaus. (#693)
- •Beratende Ausschuss-Mitglieder werden nicht mehr als Ratsmitglieder geführt. In den Ausschüssen sitzen neben den Ratsleuten Verbände, Beiräte und Fachleute mit Rederecht — Fridays for Future, Behindertenbeirat, NABU, Jägerschaft, Stadtsportbund, Jugendhilfe-Vertretung. Sie standen bisher im Personen-Verzeichnis und in den Badges als Ratsmitglieder, in Ermangelung einer Fraktion als „parteilos". Beides ist die falsche Kategorie: Sie gehören dem Rat nicht an und stimmen nicht mit ab. Das Verzeichnis führt sie jetzt in einem eigenen Abschnitt mit ihrer entsendenden Organisation, ihr Profil sagt „Beratendes Mitglied · Fridays for Future Oldenburg" statt „parteilos", und ihr Badge in Antworten heißt „beratend" statt „Rat". Unterschieden wird an den Anwesenheitslisten: Wer je in einer Ratssitzung als Mitglied geführt wurde, hat ein Mandat (87 Personen) — wer nur in Ausschüssen sitzt, berät (237). Die Ratsgruppe WFO-LKR wird als solche erkannt. Franz Norrenbrock und Dr. Hans Hermann Schreier sitzen im Rat, standen aber mangels bekanntem Label als „parteilos" im Verzeichnis. (#696)
- •Ein Tagesticket für einen Euro ist kein Beschluss über einen Euro. Die automatische Betragserkennung nahm bisher jede Zahl neben einem Eurozeichen als das finanzielle Gewicht eines Beschlusses — auch dann, wenn die Zahl ein Preis war („Jahreskarte 324,00 €", „Spontanessen 3,90 €", „1 Euro-Tagesticket") oder eine Meldeschwelle („Auszahlungen und Aufwendungen bis zu 50.000 Euro"). Bei einem Sammelbericht über hundert Kleinbeträge stand deshalb die Grenze da, ab der berichtet wird, und nicht das, worüber berichtet wird. Das war nie nur eine falsche Zahl auf einer Seite: Der Betrag speist auch den Wichtig-Wert und die Ranglisten der größten Finanzbeschlüsse. Die Muster unterscheiden jetzt am Fundort, ob eine Zahl je Einheit rechnet, und am Titel, ob der ganze Beschluss über Preise geht oder unterhalb einer Meldeschwelle berichtet. Gemessen am Bestand: 30 Fehlgriffe entfernt, kein einziger echter Betrag verloren und keiner verändert. Dass ein Zuschuss „jährlich 80.000 Euro" beträgt, macht ihn nicht zum Stückpreis, und ein Kaufpreis von 390.585 Euro ist sehr wohl das Volumen eines Beschlusses — beides hält jetzt je ein Test fest. Drei Fehlgriffe bleiben stehen, alle unter 1.001 Euro und alle von derselben Sorte: Fördersätze aus Richtlinien, die wie ein Volumen formuliert sind. Sie zu jagen hätte auf „Förderung" oder „bis zu" filtern müssen — und das kostete gemessen zwölf echte Beträge, darunter eine Ausfallbürgschaft über bis zu 116,5 Millionen Euro. Sie bleiben deshalb da und stehen benannt im Code. (#610)
- •Kontaktdaten steckten noch in einer zweiten Kopie. Der Suchindex hält den Text nicht nur als Verweis, sondern als eigene Textstücke — und die stammten teilweise noch aus der Zeit vor der Maskierung. Sie werden jetzt beim Bereinigen gelöscht und aus dem maskierten Text neu aufgebaut, statt bis zur nächsten zufälligen Neuberechnung stehen zu bleiben. (#685)
- •Die Beleg- und Gesetzes-Fähnchen gehen wieder zu, wenn man daneben tippt. Bisher schloss sich das aufgeklappte Fähnchen nur, wenn man dasselbe Zeichen noch einmal traf — ein Tipp daneben, was die meisten zuerst versuchen, tat nichts. Jetzt schließt jeder Klick außerhalb, und die Escape-Taste tut es auch; ein Klick ins Fähnchen selbst lässt es offen, damit sich der Text darin markieren und der Link treffen lässt. (#740)
- •Was Oldenburg vom Land bekommt, war um 13 Prozent zu niedrig angegeben. Der kommunale Finanzausgleich hat drei Teile: Zuweisungen für Gemeindeaufgaben, für Kreisaufgaben und für staatliche Aufgaben, die die Stadt miterledigt (Standesamt, Meldewesen, Bauaufsicht). Der Datensatz der Stadt führt nur die ersten beiden — der dritte steht ausschließlich beim Land, und uns fehlte er deshalb. Auf „Woher kommt das Geld?“ stehen die drei Teile jetzt einzeln nebeneinander, mit der vollständigen Summe darunter: für das Ausgleichsjahr 2026 sind das 93,4 statt 82,3 Millionen Euro. Die bisherige Zahl bleibt daneben stehen — sie ist nicht falsch, sie zählt nur weniger mit. Beide gehen gegen die Bücher der Stadt auf: Für 2023 und 2024 nennt das Statistische Jahrbuch auf das Tausend genau denselben Betrag. (#603)
- •- Bei Fragen nach dem zuletzt gefassten Beschluss steht die jüngste tatsächliche Abstimmungsentscheidung jetzt als fester Antwortanker vor Berichten und Kenntnisnahmen. Das verhindert, dass ein älterer Titel mit wörtlichem Ortsnamen eine neuere, über Straße oder Einrichtung zugeordnete Entscheidung verdrängt. (#792)
- •- „Frag den Rat“ verbindet Fragen nach einer Person und einem Ortsbereich nun über Sitzung und Tagesordnungspunkt. Belegte Wortbeiträge gehen dadurch beim Ortsfilter nicht mehr verloren. - Ausdrückliche Fragen nach den neuesten Beschlüssen eines Ortsbereichs zeigen die Quellen jetzt strikt chronologisch und unterscheiden echte Entscheidungen von Berichten und Kenntnisnahmen. (#790)
- •- Unter der Gesprächs-Bühne auf „Fragen" stand am Desktop ein Streifen totes Weiß (gemessen 23 px): Die Bühne rechnete ihre Höhe mit einer festen Zahl, die den Seitenkopf noch mit seinem inzwischen gestrichenen Untertitel enthielt. Kopf und Bühne teilen sich die Seitenhöhe jetzt selbst auf, sodass die Bühne immer bis zum Seitenrand reicht. (#657)
- •Die Grundsteuer-Erklärung beschrieb das falsche Rechenmodell. „Die Finanzämter berechnen für jedes Grundstück einen neuen Wert", stand dort, und die Messzahl komme „nach bundesweit gleichen Regeln" — beides gilt in Niedersachsen nicht. Das Land hat bei der Grundsteuerreform ein eigenes Gesetz beschlossen: Gerechnet wird mit der Fläche von Grundstück und Gebäude und einem Lage-Faktor, und die Messzahlen stehen im Landesgesetz. Der Steckbrief sagt das jetzt so. (#736)
- •Der Steuer-Steckbrief rechnet mit dem Hebesatz, der wirklich galt. „Was brächte ein Punkt mehr?" teilte das Aufkommen bisher durch eine Zahl, die im Quelltext stand (439 für die Gewerbesteuer). Sie stimmte nur, weil der Rat den Satz seit 2015 nicht angefasst hat — der nächste Beschluss hätte den Überschlag still falsch gemacht, während die richtige Reihe seit dem Einlesen von Tabelle 1105 direkt daneben stand. Jetzt kommt der Satz aus den Daten, und zwar der, der im Jahr des Aufkommens galt; der ausgeschriebene Rechenweg nennt dieses Jahr jetzt mit. Ebenfalls behoben: Der Hinweis, dass der Rat die Erhöhung für 2026 abgelehnt hat, verschwindet künftig von selbst, sobald ein neueres Haushaltsjahr im Bestand steht — bisher hätte er auch 2027 noch „Haushalt 2026" behauptet. (#659)
- •Eine Zahl ohne Beleg meldet sich jetzt selbst. Der Cron, der die Haushaltsdaten nachzieht, zählte schon immer die Zeilen mit, die in der Datenbank stehen, ohne zu sagen, woher sie kommen — geschrieben hat er den Befund aber nur ins Log, nie in die Hinweis-Mail. Damit blieb ausgerechnet die stillste Lücke stumm: Ein fehlender Jahrgang fällt in jeder Jahresliste auf, eine Zahl ohne Herkunft nicht. Sie steht auf der Seite wie jede andere, nur ohne Beleg hinter dem Chip. (#660)
- •„Tatsächliches Jahresergebnis" zeigte die falsche Zahl. Auf der Seite „Geplant und geworden" stand dort das *ordentliche* Ergebnis — für 2024 also +34,6 statt +6,1 Millionen Euro. Die 28,5 Millionen dazwischen sind das außerordentliche Ergebnis, das die Kachel unterschlug. Jetzt steht dort die Zahl, die auch im Jahresabschluss unter „Jahresergebnis" steht. (#601)
- •Die Kacheln der Haushalts-Flächen zeigen keine Zeigerhand mehr, wo nichts zu klicken ist. Über „Woher das Geld kommen soll" und über der Kachelfläche des Investitionen-Explorers wurde der Mauszeiger zur Hand — dem Zeichen, hinter dem eine andere Seite liegt. Dort lag keine: Was eine Kachel zu sagen hat, steht in der Zeile unter dem Bild, und die füllt sich schon beim Überfahren. Der Zeiger versprach damit ein Ziel, das es nicht gibt. Jetzt trägt die Hand nur noch die Kachel „+ n weitere Vorhaben", die tatsächlich irgendwohin führt: in die Suche. Am Ablesen selbst ändert sich nichts — Überfahren, Antippen und Tab zeigen Namen und Summe weiter wie bisher. (#720)
- •- Die Wochen-Vorschau liefert die Kurzfassung und den Tragweite-Grund jetzt auch für die aufklappbaren Punkte mit. Bisher fehlten sie dort, sodass Instagram-Karten aus dieser Liste grundsätzlich ohne Erklärung standen. - Läuft eine Sitzung länger als eine Stunde, zeigt das Live-Banner Stunden statt Minuten. „seit 134 Minuten" brach die Zeile um und schob den Sitzungsort aus der Flucht. (#649)
- •Die Karten zeigen wieder einen sauberen Stadtplan. Der Kachel-Anbieter CARTO verlangt seit Kurzem einen Zugangsschlüssel und legte sonst quer über jede Kachel den Schriftzug „API KEY REQUIRED" — auf der Stadtkarte, der Ortskarte unter Beschlüssen, der Karte unter KI-Antworten und in beiden Quiz-Karten. (#785)
- •Keine alten Debatten unter Zukunfts-Fragen. Wer nach einer kommenden Sitzung fragte, bekam neben der Antwort den Block „Aus den Ratsdebatten" mit Wortbeiträgen aus früheren Jahren — zu einer Sitzung, die noch gar nicht stattgefunden hat, kann es aber keine Debatte geben. Bei Fragen zu Sitzungen ohne ausgewertetes Protokoll bleiben Debatten- und Parteien-Baustein jetzt weg; Fragen zu vergangenen Sitzungen behalten beides. (#742)
- •Die nächste Ratssitzung wird nicht mehr als mögliche Haushaltssitzung angekündigt. Unter „Wann der Haushalt entschieden wird" stand bisher der nächste Termin von Rat oder Finanzausschuss aus dem Ratskalender — mit ehrlichem Kleingedruckten, aber die Schlagzeile versprach im Haushalts-Zusammenhang trotzdem eine Haushaltssitzung, die sie meistens nicht ist: Der Ratskalender kennt keine Tagesordnungen. An ihrer Stelle steht jetzt die Auskunft, die sich belegen lässt — in 7 von 8 Jahrgängen kam der nächste Entwurf im Oktober, und welche Sitzung ihn aufruft, steht erst mit deren Tagesordnung fest. Auch der Kalender-Pin auf dem Zeitstrahl ist weg; er hängte dieselbe beliebige Sitzung an den Haushalts-Weg. (#715)
- •- Bei „Konto löschen" auf der Konto-Seite stand das Passwortfeld auf breiten Bildschirmen seltsam zum Erklärtext: Auf Ultrawide-Monitoren riss zwischen Text und Feld ein großer Leerraum auf, und weil sich beide an der Unterkante des Texts ausrichteten, sprang das Feld je nach Zeilenzahl an eine andere Stelle. Beides liegt jetzt fest nebeneinander auf Höhe der Überschrift. (#655)
- •E-Mail-Schrift repariert. Ein Anführungszeichen mitten im Schriftarten- Stapel schnitt die Stil-Angaben der Mails ab — je nach Mail-Programm fielen damit auch Text- und Hintergrundfarbe weg. (#747)
- •Über Zeilen umbrochene Kontaktdaten rutschten durch. Steht eine E-Mail-Adresse im Dokument über einen Trennstrich umbrochen, sah die Maskierung nur ihre erste Hälfte und ließ sie stehen — beim Aufbereiten für die Suche wurden die Zeilen dann wieder zusammengezogen, und die vollständige Adresse stand im Index. Dasselbe galt für Bankverbindungen, die mitten in der Ziffernfolge umbrechen. Beides wird jetzt vorher zusammengezogen und dann erst geprüft. (#686)
- •- Die vom Social-Bot hochgeladenen Bilder werden jetzt auch ausgeliefert. Sie lagen im
public/-Verzeichnis des Frontends, das Next.js aber nur beim Build einliest — der Upload lief, die Adresse gab trotzdem 404, und ein Beitrag wäre erst beim Veröffentlichen gescheitert. (#653) - •Die Merkliste bietet nur noch konkrete Tagesordnungspunkte an. Reine Gliederungs-Oberpunkte wie „Anträge der Fraktionen, Gruppen, Rats- und Ausschussmitglieder“ haben kein eigenes Abstimmungsergebnis und können deshalb nicht mehr neu gemerkt werden. Bereits vorhandene Merker bleiben sichtbar, werden als Sammelpunkt erklärt und lösen keine Ergebnis-Benachrichtigung aus. (#763)
- •Wer in den Protokollen unter zwei Namensformen steht, hat wieder ein Profil. Bei drei Personen führen die Anwesenheitslisten zwei Schreibweisen — im Verzeichnis standen sie deshalb doppelt, jedes der beiden Profile mit einem Teil der Sitzungen, und in den KI-Antworten fiel ihr Badge aus, weil zwei gleichnamige Einträge nicht auseinanderzuhalten waren. Jetzt zählen Sitzungen, Gremien und Wortbeiträge wieder zusammen: Angezeigt wird die Schreibweise der jüngsten Sitzung, die Suche im Verzeichnis findet beide, und ältere Links führen weiterhin auf dasselbe Profil. (#589)
- •- „Was wurde an diesem Ort zuletzt beschlossen?“ wird jetzt direkt aus Datum und Abstimmung beantwortet. Neuere Kenntnisnahmen werden klar als Berichte statt als Beschlüsse gekennzeichnet; ein älterer, ähnlich betitelter Vorgang kann die Antwort nicht mehr verdrängen. (#795)
- •Zwei gescannte Anlagen ließen sich nicht laden. Beim ersten Lauf auf dem Server wies das Ratsinformationssystem zwei von acht Downloads ab — darunter den Wirtschaftsplan des Abfallwirtschaftsbetriebs für 2020, also einen ganzen Jahrgang, der dadurch still fehlte. Ursache war eine fehlende Kennung beim Abruf; außerdem wird ein abgewiesener Download jetzt bis zu viermal wiederholt, statt sofort aufzugeben. (#674)
- •Eine Anlage war zu groß zum Lesen. Ein Scan von über 30 Megabyte wurde von der Texterkennung abgewiesen und blieb als einziger von 227 ungelesen. Solche Seiten werden jetzt vorher verkleinert — ohne dass ein Buchstabe verloren geht, denn die Vorlage hat ohnehin mehr Auflösung, als für die Erkennung nötig ist. (#685)
- •Ein Plan im Großformat brachte die Texterkennung zum Abbruch. Die Anlage zur Verkehrsregelung am Johann-Justus-Weg ist über einen Meter breit; als Bild war sie zu groß für die Erkennung, und der Lauf endete jedes Mal mit einem Fehler. Solche Seiten werden jetzt schrittweise verkleinert, bis sie passen. Bei diesem Plan bleibt am Ende trotzdem kein lesbarer Text übrig — dafür sind die Straßenbeschriftungen zu klein —, aber aus einem Abbruch ist eine benannte Lücke geworden. (#687)
- •Bei manchen Dokumenten wurde das Briefkopf-Logo gelesen statt der Seite. Wenn eine Seite genau ein Bild enthielt, galt dieses Bild als der Scan — bei einem Deckblatt mit Stadtwappen war das aber nur das Wappen. Zurück kamen ein paar Zeichen, die aussahen wie ein Ergebnis. Jetzt entscheidet die Auflösung: Ein Logo ist um ein Vielfaches kleiner als eine gescannte Seite. Betroffen war unter anderem der Schlussbericht des Rechnungsprüfungsamts zum Jahresabschluss 2024 — das Dokument, für das die Texterkennung überhaupt gebaut wurde. Auch seine zweite Hürde ist weg: Sein Titel steht nach dem Briefkopf und nicht ganz am Anfang, woran die Erkennung bisher scheiterte. (#675)
- •Drei Dokumente galten als gelesen, ohne gelesen worden zu sein. Konnte keine einzige Seite in ein Bild verwandelt werden, speicherte die Texterkennung trotzdem — und zwar den Platzhaltertext, der eigentlich nur markieren sollte, dass eine Seite fehlt. Für jeden späteren Lauf sahen diese Anlagen damit erledigt aus. Sie stehen jetzt wieder auf der Arbeitsliste und werden beim nächsten Durchgang richtig gelesen. (#677)
- •Der Ops-Lauf kennt die neuen Finanzdaten. Die lange Ausgabenreihe und das Statistik-Archiv liefen bisher nur von Hand oder per Cron mit; jetzt zieht ein Ops-Lauf sie mit. Der Bestandsbericht am Ende zählt außerdem Finanzrechnung, Bilanz und Ausgabenreihe mit — eine Tabelle, die dort fehlt, fällt sonst erst auf, wenn jemand eine leere Seite meldet. (#605)
- •Der Ops-Lauf zieht die Wirtschaftspläne der Eigenbetriebe mit ein. Seit sie gebaut wurde, ließ sich die Schicht nur von Hand über SSH füllen; ein Cron kommt für sie vorerst nicht in Frage, weil sie als einzige aus einer Ratsvorlage liest statt aus einer Anlage. Der Bestandsbericht am Ende zählt sie jetzt mit — eine Tabelle, die dort fehlt, fällt sonst erst auf, wenn jemand eine leere Seite meldet. Reißt eine der Rechenproben, endet der Lauf weiterhin mit einem Fehler, aber erst, nachdem Bericht und Archiv-Sicherung durchgelaufen sind. (#664)
- •Der Baustein „Aus den Ratsdebatten" bleibt beim Zurückwechseln stehen. Wer von den Fragen weg und wieder zurück navigierte, sah die verdichteten Fraktions-Positionen von vorn laden — allerdings nur nach einer Anschlussfrage. Der Grund: Beim Antworten wird aus „Und was kostet das?" eine eigenständige Suchfrage verdichtet, und der Baustein merkt sich sein Ergebnis unter genau dieser Fassung. Gespeichert wurde bisher nur die Frage, wie sie gestellt wurde — das wiederhergestellte Gespräch suchte also unter einem anderen Schlüssel, lud neu und fragte dabei obendrein ohne den Gesprächskontext. Jetzt wandert die Suchfassung mit in den Gesprächs-Snapshot. Außerdem gehört die Zeile „Keine passenden Wortbeiträge gefunden von …" jetzt mit zum gemerkten Ergebnis. Sie lag vorher nur im Zustand der Komponente und fehlte deshalb selbst dann, wenn die Positionen aus dem Zwischenspeicher kamen. (#705)
- •„Das sagen die Parteien" steht jetzt auf allen Redebeiträgen, nicht auf einem. Der Baustein suchte seine Beiträge allein nach Ähnlichkeit zur Frage und schnitt das Feld vorher global zusammen — bei der Baumschutzsatzung blieb davon je Fraktion ein einzelner Beitrag von 2019 oder 2021 übrig, während CDU, BSW und FDP als „keine passenden Wortbeiträge" ausgewiesen wurden, obwohl alle drei in der Satzungs-Debatte geredet hatten. Jetzt kommt die Aussprache zu den belegten Beschlüssen dazu, und die Auswahl je Fraktion läuft über das ganze Kandidatenfeld: aus 7 Fraktionen mit 1–2 Beiträgen wurden 13 mit bis zu 11. Schreibvarianten derselben Fraktion („SPD" / „SPD-Fraktion") zählen dabei zusammen statt doppelt zu erscheinen. Personen-Badges in der Quellenspalte sitzen zuverlässiger — und doppeln die Fraktion nicht mehr. Führt das Protokoll nur den Nachnamen und gibt es mehrere Personen dieses Namens, entscheidet jetzt die Fraktion der Zeile: „Behrens (SPD)" ist damit eindeutig Paul Behrens, „Schilling" je nach Fraktion Rita oder Michael. 1.505 Wortbeiträge bekommen so ihr Badge. Steht die Partei schon auf dem Badge, fällt die Wiederholung in Klammern dahinter weg („Woltmann ·CDU (CDU)" → „Woltmann ·CDU"); trägt das Badge etwas anderes („ehem.", „Stadt"), bleibt die Fraktion sichtbar. (#691)
- •Zwei Ungenauigkeiten in „Frag den Rat" behoben. Verwaltungsleute, die in Anwesenheitslisten mal mit, mal ohne Amtstitel im Namen stehen (z. B. „Stadtkämmerin Dr. Julia Figura" statt „Dr. Julia Figura"), bekamen ihr „Stadt"-Badge nur inkonsistent — je nachdem, ob im Text zufällig der volle Vorname stand. Außerdem hängte der „Wie es weitergeht"-Block bei Adress-Fragen manchmal themenfremde Termine an, weil das generische Wort „Straße" allein schon als Treffer zählte (z. B. Straßenwidmungen bei einer Stadion-Frage). (#650)
- •Dieselbe Person stand zweimal im Personen-Verzeichnis. Wer in einer Anwesenheitsliste einmal anders geschrieben steht — „Klein" statt „Thomas Klein", „Georg Hess" statt „Hans-Georg Heß", „Christine Berta Wolff" statt „Christine Wolff", seit einer Namensänderung „Tim Ebbeke Harms" statt „Tim Harms" —, bekam bisher einen zweiten Eintrag mit eigener Personen-Seite, auf die sich die Redebeiträge aufteilten. Diese Schreibweisen zählen jetzt als ein Mensch (acht Fälle im Bestand); alte Links auf die weichende Schreibweise führen weiter zur selben Seite. Zusammengelegt wird nur bei gleichem Nachnamen, gleicher Fraktion und ineinander passenden Vornamen — echte Namensvettern wie Meike, Sarah und Thorsten Bruns bleiben getrennt. Personen-Badges sitzen jetzt bei neun von zehn Wortbeiträgen. Nennt eine Protokollzeile nur den Nachnamen, entscheidet neben der Fraktion nun auch das Sitzungsjahr, wer gemeint ist: Tanja Behrens saß 2018 eine Sitzung lang im Rat, ein „Behrens" von 2025 ist damit zwangsläufig Paul Behrens. Gruppen-Label und Einzelpartei gelten dabei als dieselbe Zugehörigkeit („FDP/Volt" trifft Daniela Pfeiffer/FDP). Widerspricht die Fraktion der Zeile allen Kandidaten, gibt es weiterhin bewusst kein Badge — geraten wird nicht. (#695)
- •Die Personen-Seite lädt wieder schnell. Um für eine Person zu bestimmen, ob sie ein Ratsmandat hat oder beratend in Ausschüssen sitzt, hat die Seite seit dem letzten Update das komplette Personen-Verzeichnis mitberechnet — ein Scan über alle Anwesenheitszeilen für eine einzige Person. Jetzt zählt nur noch, was zu dieser Person gehört: gemessen 14 ms statt 102 ms je Aufruf an einem Bestand in Produktionsgröße. Der Kopf der Personen-Seite nennt dieselbe Zugehörigkeit wie das Verzeichnis. Wo ein Zusammenschluss-Label belegt aufgelöst werden kann, steht dort jetzt die Partei („FDP/Volt" → FDP) statt der Gruppe. Die Zeitleiste darunter bleibt unverändert quellentreu — sie zeigt weiterhin, was in den Protokollen der jeweiligen Zeit stand. (#704)
- •Ein Produkt zu öffnen wirft einen nicht mehr an den Seitenanfang. Wer in der Produktliste weit unten etwas gesucht hatte, landete beim Antippen wieder ganz oben und musste seine Stelle neu suchen. Der Steckbrief klappt jetzt direkt unter der angetippten Karte auf — es wird gar nicht mehr gescrollt. (#628)
- •Ein unlesbares PDF gilt nicht mehr als gelesen. Der Schlussbericht des Rechnungsprüfungsamts zum Jahresabschluss 2024 liefert beim Auslesen 460.000 Zeichen und keinen einzigen Buchstaben — seiner Schrift fehlt die Zeichenzuordnung, herauskommen Glyph-Nummern. Solcher Text landete bisher in der Datenbank und damit in der Volltextsuche. Jetzt wird er als „kein Text" geführt, und die Prüfungs-Seite sagt weiterhin, dass für 2024 ein Bericht existiert, den niemand lesen kann. (#627)
- •Jede Zahl führt jetzt zu ihrem Papier, nicht zur Startseite. Auf „Der Haushalt neben dem Haushalt" standen 33 Wirtschaftspläne aus sieben Eigenbetrieben unter einer einzigen Quellenangabe, und deren Link führte auf die Startseite des Ratsinformationssystems — zu keinem Dokument, zu keiner Suche. Jetzt trägt jeder Betrieb den Link auf seinen eigenen Plan, mit der Stelle darin, und das Quellenverzeichnis listet alle benutzten Papiere einzeln statt eines Sammelverweises. Dasselbe gilt für die Gebührenbedarfsberechnung, wo jeder Bereich seinen eigenen Abschnitt der Anlage nennt, und für den Block „Was der Rahmen erlaubt" auf der Schulden-Seite, der seine Zahlen bis dahin ganz ohne Beleg zeigte. Die Dokumente selbst heißen im Verzeichnis jetzt nach dem, was sie sind („Eigenbetrieb Gebäudewirtschaft: Wirtschaftsplan 2026") statt nach ihrem Aktenzeichen. Dazu ein Jahrgang mehr bei den Abfallgebühren: 2020 liegt nur als Scan vor und schrieb „Gebührenbedarfsrechnung" statt „-berechnung" — zwei Silben, an denen das Einlesen scheiterte. (#689)
- •Die Quizfrage nach den Schulden nennt jetzt das Jahr an jeder Zahl. Die drei Stände kommen aus drei Quellen, und die erscheinen zu verschiedenen Zeiten — nebeneinandergestellt ohne Jahresangabe war das angreifbar. (#634)
- •- Auf „Fragen" sprang am Desktop die Breite von Antwort- und Quellen-Spalte, sobald die Antwort eintraf — das Raster richtete sich nach seinem Inhalt statt nach der Seite. Beide Spalten stehen jetzt unabhängig vom Inhalt immer an derselben Stelle. (#658)
- •**Warum die Schulden je Einwohner*in 2023 sanken, obwohl sie stiegen.** In der Pro-Kopf-Ansicht der Schuldenkurve steckt ein Sprung, der nichts mit Schulden zu tun hat: Die Volkszählung 2022 zählte 4.079 Menschen mehr als bis dahin angenommen, und die Statistik rechnet ab da mit der neuen Zahl. Das Jahr sah nach Entspannung aus — die Gesamtsumme wuchs im selben Zeitraum. Steht jetzt dabei. (#599)
- •Zwei Stellen behaupten nicht mehr, was längst da ist. Der Kassenzettel auf der Haushalts-Übersicht sagte, Neubauten und Fahrzeuge stünden „in einem eigenen Haushalt, den wir noch nicht eingelesen haben" — den zeigt „Was wird gebaut?" inzwischen samt der einzelnen Vorhaben; geblieben ist der Grund, warum sich beide nicht zusammenzählen lassen. Und wo für ein Planjahr kein Geldfluss-Bild steht, hieß es, uns lägen die Einnahmearten nicht vor. Sie liegen vor; was fehlt, ist die Ausgabenseite im selben Stand — und genau das steht dort jetzt. (#659)
- •„Morgen" ist jetzt ein Datum. „Um was geht es im Bauausschuss morgen?" verstand die KI-Frage nicht als Sitzungsfrage — sie riet stattdessen aus alten Beschlüssen verschiedener Jahre, was „voraussichtlich" anstehen könnte. Jetzt werden „heute", „morgen", „übermorgen", „gestern" und „vorgestern" auf den Kalendertag aufgelöst, die Sitzung wird im Sitzungskalender gefunden und die Antwort kommt aus deren echter Tagesordnung. Zeitspannen („bis heute", „seit gestern") und der Gruß („Guten Morgen") lösen wie bisher nichts aus. (#738)
- •Eine Tabelle in Tausend Euro wird jetzt erkannt statt falsch gelesen. Die Rechenprobe, mit der jede Zahl des Haushalts-Bereichs belegt wird, prüft *Erträge minus Aufwendungen gleich Ergebnis*. Läge eine ganze Spalte um den Faktor 1.000 daneben, weil über der Tabelle „in TEUR" steht, ginge die Probe trotzdem auf — der Faktor kürzt sich weg. Solche Tabellen werden jetzt gar nicht erst eingelesen. Lieber eine Lücke als eine Zahl, die tausendmal zu klein ist. (#671)
- •Zwei Quellenlinks im Haushalts-Bereich zeigten ins Leere. Die Stadt hat ihre Finanzen-Seite eine Ebene höher gelegt, das Landesstatistikamt seinen Realsteuervergleich eine Ebene tiefer. Beide Adressen sind nachgezogen. (#632)
- •- Die Tragweite-Bewertung neuer Tagesordnungspunkte lief seit dem 16.08. gar nicht mehr: Der tägliche Lauf schloss die Datenbank, bevor er sie dafür benutzte, verschluckte den Fehler und meldete sich trotzdem als erfolgreich. Die Wochen-Vorschau hob dadurch nach Stichwort-Regeln hervor statt nach Tragweite. Ein Lauf, der keinen einzigen offenen Punkt bewerten konnte, schlägt jetzt Alarm, statt still „0" zu melden. (#646)
- •- Die Tragweite-Bewertung liest die Vorlage jetzt ab dem Sachverhalt statt ab dem Briefkopf. Bisher füllten Ausdruckdatum, Amt und Beratungsfolge die Hälfte des Auszugs — bei einem Bericht, der in der Sitzung gar nicht gehalten werden kann, stand der entscheidende Satz außerhalb und der Punkt galt als Bericht mit Ergebnissen. - Tagesordnungspunkte stehen auf der Wochen-Karte wieder in der Reihenfolge der Tagesordnung: „Ö 5" kam bisher hinter „Ö 16.4". (#648)
- •Bilanzsummen machen einen Beschluss nicht mehr wichtig. Wenn der Rat einen Jahresabschluss feststellt, stand dort eine sehr große Zahl — bei einem Eigenbetrieb über 580 Millionen Euro. Der Wichtig-Wert las sie als Ausgabe und schob solche Formalbeschlüsse nach oben. Betroffen waren 259 Beschlüsse, 122 davon über zehn Millionen. Was der Rat tatsächlich ausgibt, zählt weiter. (#596)
- •Die Wirtschaftspläne melden sich künftig selbst. Die neue Schicht steht jetzt im Datenstand des Haushalts-Bereichs: Bleibt der Plan für ein Haushaltsjahr aus, sagt der Bereich das — samt dem Monat, in dem er üblicherweise eingebracht wird. Nebenbei findet der Volltext-Nachlauf damit auch die Anlagen der übrigen Eigenbetriebe, deren Zahlen bisher unerreichbar in ungelesenen PDFs lagen; wo ein Dokument nur ein Scan ist, wird es als solcher markiert statt stillschweigend übersprungen. (#665)
- •Die Wirtschaftsplan-Erkennung traf nie ein Dokument. Sie führte drei Schreibweisen desselben Worts, verknüpfte sie aber mit UND statt mit ODER — ein Dokument hätte alle drei gleichzeitig tragen müssen. Sichtbar wurde das nie, weil bisher nur der Anlagen-Nachlader diese Muster las und sich seine Oder-Verknüpfung selbst baut. Ein Test geht jetzt für jede Datenart den normalen Weg und meldet, wenn eine ihre eigenen Dokumente nicht findet. (#669)
- •Wochenüberblick: Links funktionieren wieder. Die sonntägliche Wochenüberblick-Mail verlinkte ihre Beschlüsse relativ — solche Links kann ein Mail-Programm nirgends auflösen, sie taten schlicht nichts. Jetzt führen sie als volle Adresse zur Beschluss-Seite; Beschluss-Titel mit Sonderzeichen werden dabei sauber dargestellt. (#748)
- •Kurven im Minus liefen aus dem Bild. Eine Zeitreihe, deren Werte alle unter null liegen, zeichnete ihre Achse von 0 bis −3, während die Kurve bis −10 ging — sichtbar war nur ein Fragment am linken Rand. Dasselbe traf jede Reihe, die sowohl positive als auch negative Werte hat. Beides fiel bisher niemandem auf, weil alle Kurven des Haushalts-Bereichs im Plus lagen. Außerdem beschriftete die Achse ihre Linien immer ohne Nachkommastellen: Bei Beträgen unter einer Million standen dort dreimal „0" und zweimal „1" übereinander. (#668)
Verbessert
- •Der Haushalts-Bereich einmal am Stück gelesen — mit den Augen von jemandem, der noch nie einen kommunalen Haushalt gesehen hat. Die neun Seiten sind in zwei Wochen einzeln entstanden; diese Runde ändert keine Zahl und kein Feature, sondern das, was zwischen ihnen stand. Aus den sechs gleichrangigen Wegweiser-Karten wird ein Weg mit sechs nummerierten Schritten, der bei „Woher kommt das Geld?" beginnt und bei der Prüfung endet. Die Balkenleiste auf der Übersicht heißt nicht mehr „Woher das Geld kommt" — sie zeigt, welcher *Bereich* eine Einnahme verbucht, und weil Steuern zentral in der Kämmerei auflaufen, las man dort heraus, das meiste Geld komme aus der Verwaltung selbst. Die Einnahmen- und die Produktseite sagen jetzt oben, dass ihre Jahre nicht die der Übersicht sind, statt es unten nachzureichen. Zwei Seiten behaupteten weiterhin, die Produktebene werde „noch eingelesen" — sie ist seit Wochen da und jetzt von dort aus verlinkt. Große Beträge bekommen eine Bezugsgröße: die Rücklage steht auch je Einwohnerin und Einwohner, „169,2 Ausgaben" heißt wieder „169,2 Mio. € Ausgaben". Und der Steuer-Verlauf sagt dazu, dass in „das 5,2-Fache" seit 1998 die Teuerung steckt. (#512)
- •Widersprüche zwischen zwei Seiten aufgelöst, statt sie zu übertünchen. Der Steuer-Steckbrief rechnete aus, was ein Hebesatzpunkt Grundsteuer bringt — aus einem Betrag, der A und B zusammenfasst, geteilt durch den Hebesatz von nur B. Das Haushalts-Labor verweigert genau diese Zahl seit jeher mit derselben Begründung. Jetzt tun es beide: Der Steckbrief zeigt statt der Zahl, warum es sie nicht gibt. Ebenso heißt ein Minusbetrag im Bereichs-Dossier nicht mehr „bleibt der Stadt" (als bliebe ihr etwas übrig), sondern „trägt die Stadt" — dasselbe Wort, das die Übersicht dafür benutzt. (#512)
- •Kein Grün mehr im Haushalt. Ein geplanter Überschuss trug den Erfolgs-Tint aus der Beschluss-Semantik und stand damit als gute Note neben dem orangefarbenen Minus. Für die Hantel-Grafik ist seit jeher begründet, warum es im Haushalt keine Bewertungsfarben gibt; das gilt jetzt auch für die Überschuss-Pille und die Ergebnis-Spalte der Zeitreihen-Tabelle. (#512)
- •Das Glossar erklärt die Wörter, über die man wirklich stolpert. Neu sind unter anderem Ansatz, Gesamtermächtigung, Ertrags- und Aufwandsart, Ergebnisrechnung, ordentliches Ergebnis, Kernverwaltung, Textziffer und Rechnungsprüfungsamt — und das Quellenverzeichnis unter jeder Haushaltsseite erklärt sie jetzt an Ort und Stelle, statt sie nur zu benutzen. Die Erklärung zu „Erschließung" war dort, wo sie automatisch erschien, teils schlicht falsch: Im Steckbrief des Stadtarchivs meint das Wort das Ordnen von Beständen, nicht den Straßenbau. (#512)
- •Das Haushalts-Labor sagt jetzt, ob das viel ist. Bisher bewegte man Regler und eine Zahl änderte sich — ohne Maßstab. Jetzt füllt jede Bewegung sichtbar einen Anteil der Lücke, und unter jedem Regler steht, was er bewirkt: in Millionen, in Euro je Einwohner und als Anteil am Minus. Am Hebesatz kommt dazu, was ein Betrieb mit 100.000 € Gewerbeertrag danach zahlt. Kürzungen werden in echte Aufgaben übersetzt („ungefähr so viel, wie die Kulturgutvermittlung im ganzen Jahr kostet") — aus den Teilhaushaltsplänen, immer aus demselben Bereich. Drei Szenarien zum Anklicken zeigen die Größenordnungen, „Alles auf Anschlag" auch die Obergrenze: Mehr als 39,4 Mio. € geben diese zwei Stellschrauben nicht her. Auf dem Handy bleibt das Ergebnis beim Drehen sichtbar.
- •Neu im Labor: „Wie verlässlich ist der Plan?" Der Ansatz gegen das tatsächliche Ergebnis aus den Jahresabschlüssen — in allen fünf eingelesenen Jahren fiel es besser aus als geplant, zwischen 2,9 und 38,1 Mio. €. Damit steht das geplante Minus zum ersten Mal in einem Verhältnis, ohne dass es dadurch unecht würde.
Behoben
- •Zahlen übereinander im Steuer-Verlauf. Auf dem Steuer-Steckbrief lagen die beiden Rückgangs-Marken der Ist-Kurve ineinander und über der Achsenzahl daneben — bei den meisten Steuerarten liegen die größten Einbrüche in benachbarten Jahren ganz links. Die Beschriftungen bleiben jetzt in der Zeichenfläche, weichen sich zeilenweise aus und tragen einen feinen Führungsstrich zu ihrem Punkt; Kurve und Fall-Linien schneiden nicht mehr durch die Ziffern.
Verbessert
- •Die drei Wege in die Tiefe sind jetzt zu sehen. „Woher kommt das Geld?", „Muss oder kann?" und das Haushalts-Labor standen als blasse Textkacheln zwischen zwei großen Diagrammen und gingen dort unter. Sie tragen jetzt ein Piktogramm, ihren Titel in der Display-Schrift und einen Pfeil, der beim Überfahren mitgeht — und stehen unter einer eigenen Zeile „Tiefer einsteigen".
Hinzugefügt
- •Geplant und tatsächlich — der Haushalt bekommt seine zweite Hälfte. Bis jetzt zeigte Ratslotse nur, was die Stadt ausgeben *wollte*. Aus den Jahresabschlüssen, die als Anlagen längst im Ratsinformationssystem lagen, lesen wir nun auch, was daraus geworden ist — für fünf Jahrgänge, samt Aufschlüsselung der Einnahmen nach Steuern, Zuweisungen und Gebühren. 2023 etwa nahm die Stadt 733 Mio. € ein statt der geplanten 665. Dazu kommt die Produktebene aus den Teilhaushalts-Plänen: was einzelne Aufgaben kosten, von der Kindertagesbetreuung (71,1 Mio. €) bis zum Brandschutz — mit dem zuständigen Amt und einer ehrlichen Angabe, wie viel des Haushalts diese Liste abdeckt. (#500)
Hinzugefügt
- •Der Haushalt erklärt sich jetzt selbst. Vier neue Seiten machen aus Zahlenkolonnen eine Geschichte: Woher kommt das Geld? zeigt alle Einnahmequellen — und dass der Rat nur bei dreien von sieben überhaupt etwas zu entscheiden hat. Die Steuer-Steckbriefe beantworten die Frage, mit der die meisten kommen: Wer legt das eigentlich fest? Drei Stufen vom Bundesgesetz über die Messzahl bis zum Hebesatz, den der Rat beschließt, dazu ein Rechenbeispiel und die tatsächlichen Einnahmen seit 1998. Muss oder kann? sortiert die Bereiche nach Spielraum und rechnet vor, warum Kürzen allein das Defizit nicht schließt. Und im Haushalts-Labor kann man selbst am Hebesatz drehen — mit einer dauerhaft sichtbaren Spalte, was der Rechnung entgegensteht. Lotti übersetzt an den schweren Stellen, Fachwörter erklären sich beim Antippen, und jede Zahl trägt eine Fußnote mit Quelle, Fundstelle, Stand und Lizenz. (#493)
Verbessert
- •Beschluss-Seiten sagen, was es kostet. Steht in der Vorlage eine Angabe zu den finanziellen Auswirkungen, erscheint sie jetzt als „Was kostet das?" — im amtlichen Wortlaut, als Zitat der Verwaltung gekennzeichnet, mit dem Weg in den Haushalt. Rund 1.400 Vorlagen tragen dieses Feld. (#493)
Verbessert
- •„Frag den Rat" rechnet jetzt mit echten Steuerzahlen. Geldfragen bekamen bisher nur die Planzahlen des laufenden Haushaltsjahres mit. Jetzt kennt die Antwort auch, was die Stadt tatsächlich eingenommen hat — Gewerbesteuer, Grundsteuer, Einkommen- und Umsatzsteueranteil, jeweils mit dem Wert von vor zehn Jahren daneben —, wie sich ein Haushaltsbereich seit 2020 entwickelt hat, und bei Fragen nach Hebesätzen den Zusammenhang, den man leicht übersieht: Nimmt die Stadt mehr Steuern ein, kürzt das Land seine Zuweisungen. Plan- und Ist-Zahlen bleiben dabei streng getrennt und werden in der Antwort als solche benannt. (#492)
Hinzugefügt
- •Neuer Bereich „Haushalt". Wohin fließt das Geld der Stadt? Unter
/haushaltsteht der Ergebnishaushalt 2020–2026 zum ersten Mal lesbar da: drei Kernzahlen, das Ersparte der Stadt (und wie lange es beim aktuellen Minus noch reicht — als offene Rechnung, nicht als Prognose), zwei Geldfluss-Ansichten („Woher & wohin" als Balken, „Von 100 Euro der Stadt" als Raster), die Einnahmen-Ausgaben-Schere über die Jahre und alle 13 Teilhaushalte als Karten — sortiert nach dem, was sie die Stadt unterm Strich kosten, nicht nach dem, was sie brutto ausgeben. Jeder Bereich hat eine eigene Seite mit Kostendeckung, Brutto-gegen-Netto-Vergleich und Entwicklung. Jede Zahl trägt ihre Quelle (Haushaltsplan-PDF bzw. Open-Data-CSV der Stadt); fehlende Daten erscheinen als ehrliche Lücke, nie geschätzt. (#491)
Verbessert
- •Haushalts-Quiz ohne 2024-Lücke, Stadtfinanzen als Datenfundament. Die Trend-Diagramme der Haushalts-Quizfragen übersprangen 2024 — das Plan-PDF dieses Jahrgangs ist technisch unlesbar. Der Jahrgang kommt jetzt aus dem Open-Data-Portal der Stadt (maschinenlesbar, Lizenz dl-de/by-2.0), die Reihe 2020–2026 ist vollständig. Dazu, als Fundament für den kommenden Stadtfinanzen-Bereich: Ist-Steuereinnahmen je Steuerart seit 1998 und Steuerkraft samt Schlüsselzuweisungen seit 1992, aus derselben Quelle. (#489)
- •Ein umbenannter Haushaltsbereich verliert nicht mehr seine Erklärung. Die Stadt tauft ihre Teilhaushalte um, ohne den Zuschnitt zu ändern — „Umwelt, Bauordnung, Grün u. Friedhöfe" heißt im Haushalt 2026 „Klima/Umwelt/Mobilität/Bau/Grün/Friedh.". Bisher war der Erklärtext an den Namen geknüpft und fiel bei jedem neuen Jahrgang still weg; jetzt hängt er am Bereich selbst, und alle 13 Teilhaushalte haben einen — vorher acht. Zwei davon waren zudem schief: Die Eingliederungshilfe ist bei Soziales der größte Block, und im Finanzmanagement liegen alle Steuern, aber nur die allgemeinen Zuweisungen des Landes. (#517)
- •„Muss oder kann?" sagt jetzt, was die Stadt selbst dazu sagt. Die Seite beginnt mit einem Balken, der die geplanten Ausgaben in Pflicht, Pflicht mit Spielraum und Kür zerlegt und das geplante Minus als Marke daneben setzt — statt drei Filterklicks über einer Liste aus 13 Karten. Neu ist der Gegencheck: Die Stadt gibt in ihren Teilhaushaltsplänen zu jeder Aufgabe an, worauf sie beruht und wie viel Spielraum sie bei ihr sieht. Bei 6 von 9 Bereichen, für die es diese Angabe gibt, deckt sich das mit unserer Einordnung — bei Jugend und Familie, Finanzmanagement und Recht sowie Stadtplanung nicht, und genau das steht jetzt da, statt geglättet zu werden. Dazu die Rechtsgrundlagen im Wortlaut des Plans und die Korrektur einer schiefen Rechnung: Das Freiwillige zu streichen spart nicht seine 47,1 Mio. € Aufwand, sondern seinen Zuschussbedarf von 43,0 Mio. — rund 60 % des geplanten Minus. (#521)
- •„Woher kommt das Geld?" sortiert jetzt nach Entscheidungsmacht — und sagt beim Finanzausgleich ehrlich, dass es die Zahl nicht gibt. Die Einnahmequellen standen bisher nach Betrag sortiert nebeneinander, jede mit ihrem eigenen Spielraum-Zeichen; die eigentliche Aussage musste man sich aus sieben Karten zusammensuchen. Sie stehen jetzt in drei Gruppen: was der Rat selbst beschließt, was er nur innerhalb gesetzlicher Grenzen darf, und worauf er gar keinen Einfluss hat. Neu dazu ein Block über den Finanzausgleich — nimmt die Stadt mehr eigene Steuern ein, rechnet das Land in den Schlüsselzuweisungen dagegen. Wie stark, sagen wir bewusst nicht: Über die 33 Jahrespaare des Datensatzes streut dieser Wert so weit, dass jede einzelne Zahl in die Irre führte, und in 15 von 26 Jahren mit steigender Steuerkraft stieg die Zuweisung sogar mit. Der Block zeigt deshalb beide Reihen nebeneinander und zählt aus, statt einen Umrechnungskurs zu erfinden. Im Steuer-Steckbrief außerdem zwei Korrekturen: Der Überschlag „was brächte ein Hebesatzpunkt mehr" war als „brutto" bezeichnet, obwohl der Datensatz die Gewerbesteuer bereits nach Abzug der Umlage führt, und beim Hebesatz stand „bis 2025", obwohl wir genau einen einzigen Jahrgang kennen. (#519)
- •„Soziales", „Finanzmanagement" — was heißt das eigentlich? Der Haushalt hat jetzt ein Verzeichnis seiner Bereiche. Unter
/haushalt/bereichestehen alle 13 Teilhaushalte mit Betrag und einer Zeile Klartext, vorweg der schwierigste Fall: Bei „Finanzmanagement und Recht" geht der Löwenanteil aller Einnahmen ein, nicht weil die Kämmerei etwas erwirtschaftet, sondern weil dort alle Steuern und die allgemeinen Zuweisungen des Landes zentral verbucht werden — was da zusammenkommt, steht jetzt einzeln daneben. Die Bereichsseite selbst rechnet ihre Kernaussage neu vor: ein Wasserfall von den Ausgaben über die eigenen Einnahmen zu dem Betrag, den die Allgemeinheit trägt, in Millionen statt als Prozent-Ring. Dazu die tatsächliche Zusammensetzung der eigenen Einnahmen aus dem Jahresabschluss statt einer Schätzung, die teuersten Aufgaben des Bereichs aus der Produktebene mit Jahresstempel, und drei Reiter statt einer sehr langen Rolle. (#523) - •Die Einnahmen-Ausgaben-Schere zeigt jetzt die Lücke selbst — und was tatsächlich daraus wurde. Zwei Linien zwangen dazu, den Abstand mit dem Auge abzumessen; genau der Abstand ist aber die Aussage. Er ist jetzt eine Fläche mit einer Strebe an jedem Jahr, und der größte Abstand trägt seinen Betrag im Bild. Dazu der Wirklichkeitstest: Für die Jahre, für die ein Jahresabschluss vorliegt, steht als Raute daneben, was am Ende herauskam — 2023 und 2024 plante die Stadt ein Minus und schloss mit einem Plus ab. Deshalb heißt die Überschrift jetzt „Seit 2023 *plant* Oldenburg mit mehr Ausgaben als Einnahmen", und sie wird aus den Daten gerechnet statt festgeschrieben. Wo ein Jahrgang seinen Plan an einer anderen Bezugsgröße misst (2020: Ansatz samt Nachtragshaushalt), steht ein Sternchen mit Fußnote. Farbe bewertet dabei weiterhin nichts: Signal-Orange heißt „hier ist die Differenz" — in den Plus- wie in den Minusjahren. (#522)
- •„Wann wird der Haushalt eigentlich entschieden?" — eine neue Seite zeigt den Weg durch den Rat. Unter
/haushalt/jahrsteht für acht Haushaltsjahre jede Station mit Datum, Gremium und Ergebnis: Einbringung des Entwurfs, Teilhaushalte in den Fachausschüssen, Vorberatungen, Beschluss — jede Station verlinkt auf ihre Sitzung. Ein Jahreskreis zeigt, wo im Kalender die Runde liegt. Der Befund darin ist der eigentliche Grund für die Seite: Der Entwurf kommt verlässlich im Oktober, die Entscheidung wandert vom 16. Dezember bis zum 28. Februar — fünf der acht Haushalte wurden erst beschlossen, als das Jahr schon lief. Termine der laufenden Runde nennt die Seite bewusst nicht: Das Ratsinformationssystem veröffentlicht Tagesordnungen erst kurz vorher, und ein geratenes Datum wäre schlechter als keins. (#524) - •Der Haushalt fängt jetzt mit einer Zahl an — und die Bereiche stehen als Tabelle statt als Kachelwand. Ganz oben steht auf dunklem Grund, worum es geht („Oldenburg plant 883,9 Millionen Euro", daneben Einnahmen, Ausgaben und Differenz) samt dem Hinweis, dass Investitionen in einem eigenen Haushalt laufen und das Budget also größer ist. Darunter zeigt eine Tabelle für jeden Bereich in einem Balken, wie sich seine Ausgaben zusammensetzen — alle Balken auf einer Skala, sodass ohne Fußnote sichtbar wird, dass der längste Ausgabenposten nicht der ist, der die Stadt am meisten kostet (2026: Soziales und Gesundheit 283,1 Mio. Ausgaben gegen Jugend und Familie 169,2 Mio. — aber 113,2 zu 129,9 Mio. Zuschussbedarf). Welche Bereiche in der Liste fehlen und warum, wird gerechnet statt behauptet. Und die Farbskalen der Balken hängen jetzt an der Fläche statt am Hell/Dunkel-Modus: Im hellen Modus wäre der größte Einnahmeposten auf dem dunklen Grund sonst fast unsichtbar. (#525)
- •„Woher, wohin" zeigt kein anderes Jahr mehr, wenn das gewählte fehlt. Wer auf der Haushalts-Seite ein Planjahr wählte, bekam wortlos die Grafik des nächstgelegenen Jahres mit Jahresabschluss zu sehen; dass da ein anderes Jahr stand, verriet nur eine Zeile darüber. Jetzt sagt die Seite, was fehlt — die Einnahmearten liegen uns für dieses Jahr noch nicht vor — und bietet das jüngste vollständige Jahr zum Anklicken an, statt es ersatzweise anzuzeigen.
- •Der Haushalt als Kassenzettel: 883,9 Millionen sind 5.005 Euro je Einwohnerin und Einwohner. Millionenbeträge lassen sich nicht fühlen, ein Kassenbon schon — er zeigt dieselben Bereiche in derselben Reihenfolge, nur geteilt durch die amtliche Einwohnerzahl: 1.603 € für Soziales und Gesundheit, 958 € für Jugend und Familie, 225 € für Kultur und Sport. Ganz unten steht die Zeile, um die es politisch geht — 402 € kommen aus dem Ersparten, von dem danach noch 702 € je Kopf übrig sind. Daneben steht, was die Zahl nicht ist: keine Rechnung, die jemand überweist; geteilt wird durch alle Menschen, nicht durch Steuerzahlende; und nichts davon baut etwas Neues, denn Investitionen laufen in einem eigenen Haushalt. Bezugsgröße sind 176.614 Einwohnerinnen und Einwohner zum Stichtag 31.12.2024 — der steht mit an der Rechnung, weil eine Pro-Kopf-Angabe ohne Bezugsjahr nichts wert ist. (#528)
- •Woher das Geld kommt, steht jetzt auch für 2025 und 2026 da — und was nur Vorausschau ist, sagt es dazu. Die Aufschlüsselung nach Steuern, Zuwendungen und Gebühren gab es bisher nur bis 2024, weil sie aus den Jahresabschlüssen stammt; für die laufenden Planjahre fehlte sie. Sie steht längst im Haushaltsplan selbst und ist jetzt für acht Planjahre (2019–2026) eingelesen. Der Plan nennt fünf Spalten „Ansatz", aufgestellt ist aber immer nur ein Jahr — die drei danach sind mittelfristige Finanzplanung, und die schreibt jeder neue Haushalt neu (von 23 Posten bleiben zwischen zwei Plänen 0 bis 2 gleich). Beides wird deshalb getrennt gespeichert und getrennt beschriftet, damit später nirgends ein „Plan für 2029" behauptet wird, den es nicht gibt. Übernommen wird ein Jahrgang nur, wenn die Tabelle in allen sechs Spalten aufgeht und der Plan seine Ansatz-Spalte selbst markiert. Und weil die Zahlen aus der Vorlage stammen, mit der die Verwaltung den Haushalt einbringt, steht an jeder von ihnen, dass sie der Stand der Einbringung sind — was der Rat in den Beratungen noch ändert, waren zuletzt bis zu 13 Mio. €. (#530)
- •Der Haushalt hat jetzt einen Weg statt einer Kachelwand — und drei Seiten sind überhaupt erst auffindbar. „Wann wird der Haushalt entschieden?" und der Städtevergleich waren von keiner Seite aus verlinkt, das Verzeichnis der Teilhaushalte nur rückwärts über die Detailseite eines einzelnen Bereichs. Der Wegweiser auf der Übersicht führt jetzt durch alle zehn Vertiefungsseiten, und zwar in vier benannten Stufen statt als lange Liste: erst die Zahlen (woher das Geld kommt, was hinter den Bereichsnamen steckt, was fest ist, was einzelne Aufgaben kosten), dann die Gegenprobe (was daraus wurde, und was das Rechnungsprüfungsamt dazu sagt), dann der Rahmen (die Betriebe neben dem Haushalt, der Vergleich mit anderen Städten), zuletzt das Mitreden (wann entschieden wird, und was sich drehen ließe). Der Städtevergleich steht bewusst spät: Er beantwortet eine Frage, die sich erst stellt, wenn man die eigenen Zahlen kennt. Auf dem Handy braucht das trotz drei zusätzlicher Ziele kaum mehr Platz als vorher. (#529)
- •Ratslotse gendert jetzt durchgängig — mit Sternchen. Aus „Nutzer" wird „Nutzer*innen", aus „je Einwohnerin und Einwohner" wird „je Einwohner*in"; auch die Anweisungen an die KI sind mitgezogen, damit die Antworten nicht weiter in generischen Maskulina zurückschreiben. Namen und Rechtsbegriffe bleiben, wie sie heißen: Die „Einwohnerfragestunde" steht so im Kommunalverfassungsgesetz, „Bürgerinfo" heißt das Ratsinformationssystem der Stadt, und „Antragsteller" sind hier Fraktionen, keine Personen. (#533)
- •Die Anzeigetafel des Haushalts ist im Hellmodus hell — und die Tabelle, mit der die Konzern-Seite sich selbst bestätigte, ist weg. Die Fläche mit „Oldenburg plant 883,9 Millionen Euro" war in beiden Farbmodi dunkel und stand im hellen Modus als schwarzblaues Feld über der halben Seite; sie folgt jetzt dem Modus und bleibt trotzdem vom Rest der Seite abgesetzt. Die Balken darauf wurden dafür neu gestuft, damit auch der kleinste Posten und die schraffierte Rücklagen-Marke sichtbar bleiben — im Hellmodus stehen sie jetzt weiter vom Grund ab als vorher im Dunkelmodus. Von der Konzern-Seite verschwunden ist der Block „Dieselbe Zahl, zwei Quellen": acht Zeilen, in denen jedes Jahr zweimal dieselbe Summe und daneben „unter 1 Tsd. € Unterschied" stand. Dass zwei Dokumente übereinstimmen, ist unsere Qualitätssicherung — sie läuft unverändert weiter, steht in der Technik-Doku und in Tests, aber nicht mehr auf der Seite. (#535)
- •Die Grafiken im Haushalt schreiben ihre Zahlen jetzt selbst an. Unter der Zeitreihe auf
/haushalt, der Steuerkurve auf/haushalt/steuerund den beiden Reihen des Finanzausgleichs steht eine Leiste, die immer ein Jahr mit allen seinen Werten zeigt — im Ruhezustand das jüngste. Überfahren, Antippen oder die Pfeiltasten wechseln das Jahr, und weil die Leiste echter Text ist, steht die Zahl auch im Screenshot, im Ausdruck und in der Vorlesehilfe; ein Tooltip wäre nur für die Maus da gewesen. In der 100-Euro-Ansicht hebt ein Bereich seine Felder im Raster hervor, egal ob man ihn in der Liste oder im Bild wählt. Die Zahlentabellen bleiben — 28 Werte nebeneinander kann kein Bild —, starten aber zugeklappt. (#536) sobald der Kommunalwahl-Vergleich auf Prod freigeschaltet wird.
Hinzugefügt
- •Wahlprogramm-Vergleich zur Ratswahl am 13. September. Unter
/kommunalwahl— öffentlich, ohne Konto — hat Ratslotse alle Programme gelesen: die acht Listen mit eigenem Kommunalwahlprogramm plus BSW (dessen Landesprogramm Oldenburg nirgends erwähnt und deshalb überall markiert ist), entlang von 44 Thesen. Zwölf Themenseiten stellen die Positionen nebeneinander, neun Profilseiten zeigen je ein Programm mit Kernpunkten und Auffälligkeiten, eine Nähe-Matrix rechnet aus, wer wem wie oft zustimmt — und jede einzelne Aussage trägt ein Belegzitat mit Seitenzahl, das direkt ins Original der Partei springt. Die sieben Listen ohne vergleichbares Programm fehlen nicht, sondern stehen mit Rechercheprotokoll dabei. Ausgewertet hat eine KI, keine Redaktion — das sagt die Seite an drei Stellen selbst und lädt zum Nachprüfen ein: Ratslotse hostet die Programme nicht, sondern prüft live, ob hinter dem Partei-Link noch genau die Datei steht, die ausgewertet wurde. Dazu vier Auswertungen, die es sonst nirgends gibt: eine Karte der Nähe (alle 36 Paarabstände als Bild), „Steht allein da" (Positionen einer Liste gegen alle anderen), ein Themen-Fingerabdruck je Programm und „Wie dieses Programm redet" (Umfang, Satzlänge, typische Begriffe) — und der Thesen-Check: dieselben 44 Thesen selbst beantworten (Überspringen erlaubt, Wichtiges zählt mit ★ doppelt) und sehen, wie oft jede Liste übereinstimmt, Satz für Satz belegt. Kein Wahltipp, und die Antworten bleiben auf dem Gerät. (#356) - •„Dokument öffnen" öffnet jetzt das Dokument. Im Quellenverzeichnis der Haushalts-Seiten führten sechs Quellen auf die Startseite des Ratsinformationssystems — man durfte das PDF selbst suchen. Der Link zeigt jetzt auf das Dokument des gerade gezeigten Jahres (wechselt das Jahr, wechselt das PDF), nennt die Fundstelle darin („Abschnitt 3.2"), und wo wir kein Dokument haben, verspricht er auch keines mehr. Der Knopf „Haushaltsplan als PDF" oben auf der Übersicht entfällt dafür: Er ließ eine von mehreren Quellen wie die einzige aussehen, seine jahresgenaue Adresse steckt jetzt im Beleg. Quellenverzeichnis und Datenstand stehen außerdem nicht mehr in der Kartenform des Inhalts, sondern zugeklappt als Apparat am Seitenfuß. (#538)
- •Fünf Stellen im Haushalt erklären wieder den Haushalt statt uns. Unter den Zahlen auf „Der Konzern Stadt" und „Steht Oldenburg besser da als Osnabrück?" standen bisher unsere eigenen Rechenproben und darunter „Gemessen: 0,00 % Abweichung" — jetzt steht dort nur noch, in welchem Abschnitt des Dokuments die Zahl zu finden ist, was beim Nachschlagen im 300-Seiten-PDF hilft. Ebenso raus: „Es erscheinen nur Jahre, deren Zahlen unsere Prüfung bestehen" samt drei Rechenproben in Prosa („Plan gegen Wirklichkeit"), die Parser-Bedingung im Fuß der Prüfungs-Seite und der Betriebsablauf im Datenstand („geprüft wird alle zwei Wochen"). Auf „Muss oder kann?" entfällt die Quote, zu wie viel Prozent unsere Einordnung sich mit der Selbstauskunft der Stadt deckt; die Abweichung bleibt und steht jetzt vorn, denn wo beide sich widersprechen, ist das eine Auskunft über die Aufgabe. Was bleibt, ist das, was jemandem etwas sagt: die Quelle, der Hinweis auf eigene Rechnungen und echte Grenzen wie „für dieses Jahr liegt der Schlussbericht nicht in lesbarer Form vor". Die Prüfungen selbst laufen unverändert weiter — sie stehen in Tests und in der Technik-Doku. (#542)
- •„Frag den Rat" kennt jetzt den Haushalt. Geldfragen sahen bisher nur Beschluss-Beträge, den Haushaltsplan und die Steuereinnahmen — Jahresabschlüsse, die 377 städtischen Aufgaben samt Rechtsgrundlage, die Feststellungen des Rechnungsprüfungsamts, der Konzern Stadt und der Städtevergleich blieben unsichtbar. Jetzt zieht jede Frage genau die Quellen, die sie beantworten: „Hat die Stadt 2024 mehr ausgegeben als geplant?" bekommt den Jahresabschluss samt Begründung der Verwaltung, „Muss die Stadt das Theater betreiben?" die Rechtsgrundlage der Aufgabe, „Was kostet die Stadt insgesamt?" den Konzern statt nur den Kernhaushalt. Jede Zahl kommt mit Jahr und Fundstelle, und Fragen ohne Geldbezug bekommen weiterhin nichts davon. (#543)
Geändert
- •Ein gemeinsamer Ortskatalog für Suche, Quiz, Karten und KI-Frage. Die 31 bisher verteilten Oldenburger Gebietslisten sind jetzt als zentrale „Ratslotse-Ortsbereiche“ mit stabilen IDs, Schreibvarianten, Wahlbereichen und Quellenhinweisen gepflegt. Die Oberfläche bezeichnet sie bewusst nicht mehr als amtliche Stadtteile – denn eine solche amtliche Einteilung gibt es in Oldenburg nicht. Bestehende Zuordnungen, einschließlich Bornhorst, bleiben erhalten und werden nun in allen Funktionen gleich verwendet. Der Katalog umfasst nun außerdem erste belegte Quartiere, Parks, Schutz-, Wohn-, Sanierungs- und Entwicklungsgebiete. Beschlusssuche, Ortsprofile, Quiz und „Frag den Rat“ greifen über dieselben stabilen IDs, Aliase und Hierarchien darauf zu; neue Beschlüsse werden beim Einlesen automatisch verknüpft. Der Quiz-Backfill fordert dabei nur noch die bis zum Ziel fehlenden Fragen an und kürzt längere Erklärungen nicht mehr mitten im Satz.
v1.13.2
2026-08-19Behoben
- •Kein iOS-Zoom mehr beim Antippen kleiner Eingabefelder. Safari/WKWebView zoomt automatisch rein, sobald ein Eingabefeld eine Schriftgröße unter 16px hat — auf dem iPhone (und, weil
sm:an der Fensterbreite statt am Eingabegerät hing, auch auf dem iPad) blieb dieser Zoom in Feldern wie „Gespräch umbenennen", „Neues Thema anlegen" oder der Admin-Suche oft hängen. Betroffene Felder zeigen jetzt überall mindestens 16px, sobald kein Mauszeiger vorhanden ist; am Desktop bleibt die kompaktere Schrift wie gewohnt. (#643)
v1.13.1
2026-08-19Geändert
- •Zwei Feinheiten auf der Fragen-Seite für Touch-Geräte. Die Scroll-Klickpfeile neben den Vorschlags-Pillen (Weiterfragen, „Einfacher erklären") erscheinen jetzt nur noch für eine Maus — auf iPhone und iPad reicht der Wisch, die Pfeile waren dort nur ein zusätzliches Element ohne Nutzen. Und der „Zuletzt gefragt"-Block auf dem leeren Fragen-Screen zeigt auf dem iPhone nur noch den letzten Chat statt zweier — der zweite kostete genau die Zeile, die den Screen knapp über den sichtbaren Bereich trieb. Ab Tablet-Breite bleiben es weiterhin zwei. (#641)
- •Der Gesprächs-Verlauf ist jetzt Inhalt, kein Icon (Design 15). Wer schon Gespräche gespeichert hat, sieht die letzten zwei direkt auf der Fragen-Seite unter „Zuletzt gefragt" — bisher hing der Verlauf an einem namenlosen Uhr-Symbol, das kaum jemand als „Gespräche" las. Der Knopf oben rechts trägt jetzt immer sein Wort und zählt mit („Gespräche · 4"); im offenen Gespräch steht dessen Titel darin. Das Gespräche-Sheet gruppiert nach Heute · Gestern · Älter mit Trennlinien, jede Zeile hat ein sichtbares ⋯-Menü für Umbenennen und Löschen (Wisch nach links bleibt als Abkürzung), einen Schließen-Knopf — und ab acht Gesprächen ein Suchfeld. Auch der Desktop nutzt dieses Sheet statt des schmaleren Klapp-Menüs, das nicht einmal umbenennen konnte. Aufgeräumt ist der leere Screen obendrein: ein Erklärsatz statt drei fast gleicher, „Neu" nur noch an wirklich frischen Beispielfragen, das Funkel-Icon einmal statt an jeder Zeile — und Eingabefeld, Recherche-Schalter und der kräftigere Senden-Knopf sind eine Karte. (#639)
v1.13.0
2026-08-19Geändert
- •Die Vorabend-Erinnerung kommt jetzt immer am Vortag. Sie teilte sich das Kontingent von zwei Meldungen am Tag mit allem anderen — und weil sie als letzte des Tages um 18 Uhr eingereiht wird, verlor sie diesen Wettlauf regelmäßig und kam erst am Sitzungstag selbst an. Termingebundene Meldungen haben jetzt ihren eigenen Vorrat: Die Erinnerung geht raus, egal wie viel an dem Tag schon kam, und sie nimmt umgekehrt keiner anderen Meldung den Platz. An einem Abend mit mehreren Sitzungen wird ab der dritten weiterhin gebündelt. (#585)
- •Auf sehr breiten Monitoren (21:9) nutzt die Fragen-Seite den Platz. Ab 1680 Pixeln Fensterbreite wächst der Seitenrahmen von 1280 auf 1600 Pixel: Die Gesprächs-Bühne wird etwas breiter, die Belege-Spalte deutlich (420 statt 320 Pixel), die Abstände atmen. Die Lesebreite der Antworten bleibt dabei gedeckelt — mehr Platz heißt mehr Raum für die Quellen, keine endlosen Textzeilen. Unterhalb dieser Schwelle ändert sich nichts. (#614)
- •Der Protokoll-Link an Wortbeiträgen springt jetzt direkt zur Seite. Wo sich die Fundstelle eindeutig bestimmen lässt, öffnet das Dokument-Symbol im Block „Aus den Ratsdebatten" das PDF gleich auf der richtigen Seite (in Chrome, Firefox und Edge; Safari öffnet das PDF wie bisher am Anfang). Der Anker ist der Sprecher-Name, der wörtlich im Protokoll steht; die markanten Wörter der Aussage entscheiden, wenn der Name mehrfach vorkommt — etwa in der Anwesenheitsliste. Ist die Stelle nicht eindeutig, bleibt es beim Link aufs ganze PDF: lieber kein Sprung als ein falscher. Für den Bestand rüstet ein einmaliger Lauf die Seitendaten nach; neue Protokolle tragen sie ab sofort von selbst. (#615)
- •Die Push zur Tagesordnungs-Änderung sagt jetzt kurz, was passiert ist — die Einzelheiten zeigt die Sitzungsseite. Bisher stopfte die Mitteilung den ganzen Mail-Text in die Vorschau: Datum, Sitzungsort und dann erst die Sache. Jetzt steht dort nur noch der Änderungssatz („Ein Punkt ist neu und eine Vorlage wurde nachgereicht."), und ein Tipp darauf öffnet die Sitzung in der App — mit einem neuen Block „Zuletzt geändert", der die Änderungen einzeln aufführt: Neues grün, Geändertes gelb, Entferntes rot durchgestrichen, wie in der Mail. Auch die Push zur frisch veröffentlichten Tagesordnung beginnt nun mit den Inhalten statt mit dem Sitzungsort. (#612)
- •Die „Tagesordnung geändert"-Mail sagt jetzt in einem Satz, was passiert ist. Über der farbmarkierten Liste steht die Art der Änderung — „Ein Punkt ist neu, eine Vorlage wurde nachgereicht und ein Punkt wurde von der Tagesordnung genommen." Neu erkannt werden dabei auch die Anhänge eines Tagesordnungspunkts: Kommt eine Änderungsliste oder Stellungnahme dazu oder verschwindet eine, nennt die Mail sie beim Namen — bisher lösten Anhänge gar keine Meldung aus. Und wo der frühere Stand zum Vergleich fehlt, sagt die Mail ehrlich, dass sie die vollständige aktuelle Tagesordnung zeigt, statt alles wie neu aussehen zu lassen. (#607)
- •Der Zähler an „Meine Themen" verstummt, sobald man nachgesehen hat. Bisher blieb die orange Blase in der Navigation stehen, bis man jedes einzelne Thema geöffnet hatte — bei zehn Themen mit neuen Treffern ein zäher Weg. Jetzt reicht ein Blick auf die Themen-Übersicht: Die Blase zeigt danach nur noch, was seitdem dazugekommen ist. Welches Thema neue Beschlüsse hat, steht unverändert als „n neu" an den Themen selbst und verschwindet dort erst, wenn das Thema wirklich offen war. (#637)
- •„x weitere Punkte" klappt in der Wochen-Karte auf, statt wegzunavigieren. Die Restzeile unter einer Sitzung führte bisher zur Tagesordnung — für drei Titel ein Seitenwechsel. Jetzt klappen die übrigen relevanten Punkte direkt in der Karte auf, mit Antragsteller-Punkt und Link auf den einzelnen Tagesordnungspunkt; zur vollen Tagesordnung führt weiterhin der Link im Sitzungskopf. Die Mobil-Ansicht konnte das schon — jetzt kann es auch die große Karte, und beide zeigen alle relevanten Punkte, nicht nur die bereits geladenen. (#616)
Behoben
- •„Die Tagesordnung hat sich geändert" verriet nicht, was. Wurde zu einem Punkt nur die Vorlage nachgereicht — Nummer und Titel blieben gleich —, fand der Vergleich nichts und die Mail behalf sich mit „Details einzelner Punkte wurden angepasst". Genau so ist es am 17.08. beim Ausschuss für Allgemeine Angelegenheiten passiert. Nachgereichte, getauschte und zurückgezogene Vorlagen stehen jetzt als eigene Zeile in der Änderungsliste („Vorlage nachgereicht · TOP Ö 5 — Vorlage 26/0019/9 liegt jetzt vor"), und der Vergleich sieht dieselben Punkte wie die Änderungserkennung, also auch die nichtöffentlichen. Bleibt am Ende doch nichts Nennbares übrig, kommt gar keine Mail mehr statt einer ohne Inhalt. (#582)
- •„Morgen, 16:45 Uhr" kam am Sitzungstag selbst. Die Vorabend-Erinnerung wird um 18 Uhr eingereiht, geht aber erst raus, wenn die Grenzen es zulassen — waren an dem Tag schon zwei Meldungen draußen, wartet sie bis zum nächsten Morgen, und „morgen" war dann heute. Der Titel nennt jetzt den Tag statt eines Wortes, das vom Zustellzeitpunkt abhängt. (#582)
- •„Diese Woche: 119 Beschlüsse zu deinen Themen". Der wöchentliche Abgleich Thema ↔ Beschluss legte alle Treffer neu an und stempelte sie dabei auf heute; der Wochenüberblick am selben Abend hielt deshalb den gesamten Bestand für die Neuigkeiten der Woche. Bekannte Treffer behalten jetzt ihr Datum, nur wirklich neue zählen — und ein Reparaturlauf nach einer Neu-Extraktion stempelt gar nichts als neu. (#582)
- •Gleichnamige Tagesordnungspunkte erzeugen keine erfundenen Verschiebungen mehr. Nichtöffentliche Sitzungsteile führen reihenweise Punkte mit dem Titel „gesperrte Information" — die Änderungsmeldung ließ alle am ersten Namensvetter andocken und meldete dann Verschiebungen, die es nie gab („Verschoben · N 11 → N 12"). Jetzt binden sich erst die nummerntreuen Paare, der Rest der Reihe nach; und fällt einer von mehreren gleichnamigen Punkten weg, taucht das erstmals als „Entfernt" auf, statt unterzugehen. (#611)
- •Straßen-Widmungen gelten nicht mehr als „wichtig". Die Widmung einer Straße macht einen längst bestehenden Zustand amtlich — trotzdem stand „Widmung der Straße ‚Im Technologiepark'" als wichtiger Punkt auf der Wochen-Karte. Straßenrechtliche Formalakte (Widmung, Einziehung, Umstufung) werden jetzt fest gedeckelt: in der Bewertung selbst, im Bewertungs-Prompt und beim Lesen — damit verschwinden auch schon gespeicherte Fehlbewertungen sofort von der Karte. Die Umwidmung von Geld ist davon ausdrücklich nicht betroffen. (#616)
Hinzugefügt
- •Wortbeiträge in „Frag den Rat" verlinken jetzt ihr Protokoll. Jede Aussage im Block „Aus den Ratsdebatten" trägt ein kleines Dokument-Symbol, das das Sitzungsprotokoll (PDF) im Ratsinformationssystem öffnet — in der Quellenspalte, in der mobilen Beleg-Ansicht, auf der geteilten Antwort-Seite und in der Gründlichen Recherche. Was der Rat gesagt haben soll, lässt sich damit im Original nachlesen statt nur glauben. (#606)
v1.12.0
2026-08-16Behoben
- •Drei Zahlen für dieselbe Sache. Ein Thema zeigte auf der Karte „40+ Beschlüsse", im Blatt „Thema anpassen" 12 und in der Liste hinter „alle ansehen" 25. Die 12 war nie eine Trefferzahl, sondern die Länge des Prompt-Kontexts; die Liste filterte still auf Beschlüsse mit Abstimmungsergebnis und ließ alle Berichte weg. Jetzt gibt es eine Definition an einer Stelle, die Cron und Web gemeinsam benutzen — dieselbe Zahl auf der Karte, im Blatt und in der Liste, und wo wirklich gedeckelt wird, steht überall „40+". Die Vorschlags-Chips nennen ihre viel gröbere Zahl jetzt beim Namen („12 im letzten Jahr"). (#495)
- •Dialoge lagen scheinbar hinter der Navigation. Der Abdunkler unter „Thema anpassen" war exakt die dunkle Seitenfarbe und dunkelte im Dunkelmodus nichts ab — Kopfzeile und Tab-Leiste behielten ihren Glas-Look und wirkten dadurch vor dem Dialog, der sie obendrein um wenige Pixel berührte. Es gibt jetzt einen einheitlichen Abdunkler und fünf benannte Ebenen; auf breiten Geräten hält der Dialog sichtbar Abstand zu Kopf und Leiste. (#495)
- •Text schien unter dem Eingabefeld durch. Zwischen Composer und Tab-Leiste blieb ein Streifen offen, durch den die Antwort scrollte: Beide rechneten mit einer eigenen Zahl für die Höhe der Leiste, und die war je nach Gerät verschieden. Jetzt gibt es dafür eine gemeinsame Quelle. (#495)
- •Der Eingabe-Balken verdeckte auf dem iPad die halbe Breite. Statt eines Riegels über den ganzen Bildschirm sitzt der Composer dort jetzt als Panel auf der Chat-Spalte — die Quellen daneben bleiben bis unten sichtbar. (#495)
- •Quellen liefen bei Folgefragen aus dem Bild. Auf dem iPad läuft die Belege-Spalte jetzt mit und sagt ab der zweiten Frage dazu, zu welcher Frage sie gehört. (#495)
- •Konto-Seite ließ die halbe Fläche leer. Neben der langen Benachrichtigungs-Karte stand ein Loch von fast 500 px Höhe, während links noch zu scrollen war. Die Karten stapeln jetzt in Spalten statt in Zeilen und nutzen die volle Breite — die Seite ist auf dem iPad quer ein Drittel kürzer. (#495)
v1.11.0
2026-08-15Behoben
- •Das iPad bekommt endlich, was seine Breite hergibt. Der Gespräche-Knopf fehlte dort im Seitenkopf, und die Quellen standen im Textfluss statt daneben. Beides war dasselbe Loch: Die mobile Fassung verschwand ab 768 px, die zweite hing an „Maus vorhanden" — dazwischen zeigte keine von beiden. Jetzt trennen drei Breakpoints, was zusammengehört: Platz (Spalten), Maus (Seitenleiste), breites Touch-Gerät. Quer stehen die Quellen als Spalte neben der Antwort, hochkant bleibt es einspaltig, das Eingabefeld bleibt in der Bildmitte. (#488)
- •Kein Weg zurück aus der Vollbild-Karte. Die Stadtkarte im Vollbild lag unter Topbar und Tab-Leiste, der Schließen-Knopf war dahinter versteckt und vom Rest der Seite stachen Suchfeld und Stadtteil-Wähler durch die Karte. Ein überflüssiges
isolatesperrte das Vollbild in einen eigenen Stapelkontext. (#488) - •Die Stadtkarte war quer ein Briefschlitz. Auf dem iPad lag ein 1114 × 310 px flacher Rahmen über der halben Region — Bremen bis Cloppenburg, Oldenburg ein Klecks. Die Höhe hing allein am Bildschirm, nie an der Breite, und Leaflet rundete den Ausschnitt zusätzlich um eine volle Zoomstufe ab. Jetzt hat der Rahmen ein Seitenverhältnis und der Ausschnitt Zwischenstufen: sichtbar 42,9 × 15,7 km statt 102,1 × 28,4 km. (#488)
- •Registrieren passte auf dem iPad nicht aufs Bild. Die Karte war 793 px hoch, Lotti darüber wurde abgeschnitten (auch auf dem Desktop), der Fuß stand auf der Bildkante. Der Pflicht-Fuß steht jetzt unter der Karte auf dem Hintergrund und gilt damit für alle Anmelde-Seiten; die Karte wird auf breiten Geräten breiter und legt Name und E-Mail nebeneinander. Karte 793 → 578 px, quer wie hoch ohne Scrollen. (#488)
- •„Einfacher erklären" erklärte nicht einfacher. Der Knopf schickte nur den Satz „Erkläre das bitte einfacher" als normale Frage — gegen zwei Dutzend Regeln für Präzision, Zitate und Langfassung, die ihn überstimmten. Jetzt schreibt ein eigener Prompt die vorliegende Antwort um, im Ton von „Lotti erklärt's einfach": kurze Sätze, kein Fachwort ohne Erklärung, gerundete Beträge — die Fußnoten bleiben. Gemessen an drei echten Antworten: halb so lang, längster Satz von 45 auf 18 Wörter, keine unerklärten Fachbegriffe mehr. Nebenbei lernt jede Antwort, Beträge lesbar zu schreiben („rund 45 Millionen Euro" statt „44,699 Millionen Euro"). (#488)
- •Themen-Treffer waren zu einem guten Teil Rauschen. Jedes Thema zeigte exakt so viele Beschlüsse, wie der Lauf höchstens speichert — die Schwelle darunter hat nachweislich nie etwas verworfen, weil sich amtliche Kurztexte mit reiner Vektor-Ähnlichkeit nicht trennen lassen. „IQON" und „Wohnheim Tegelbusch" bekamen deshalb dieselben fremden Beschlüsse und ihre eigenen nicht. Gesucht wird jetzt wie bei der KI-Frage, bewertet wird mit demselben Modell, das dort schon entscheidet; wo wirklich gedeckelt wird, sagt die Karte „40+". Auch die falschen „dein Thema"-Marker in Tagesordnungen kommen daher — ohne Vorlagentext fiel die Gegenprüfung bisher komplett aus. (#488)
- •„25 neu" bei jedem Thema. Beim Aufräumen verwaister Treffer blieben die Gelesen-Marken auf gelöschten Beschlüssen liegen; danach galt alles wieder als ungelesen. Sie werden jetzt mit aufgeräumt. (#488)
- •„Fragen" steht sofort komplett da. Nach dem Tippen auf den Tab erschienen die unterste Beispielfrage und der Gespräche-Knopf oben rechts erst nach einer halben Sekunde. Zwei Ursachen: Die Seiten-Animation hob die neue Seite kurz an und riss dabei das Eingabefeld mit, das die dritte Beispielfrage verdeckte, bis die Animation endete — sie blendet jetzt nur noch ein. Und Beispielfragen wie Gespräche-Knopf hängen an Server-Antworten, die beim letzten Besuch dieselben waren: Der Stand von damals steht jetzt sofort, aufgefrischt wird im Hintergrund. Gemessen bei 600 ms Antwortzeit: alles ab dem ersten Bild an seinem Platz. (#486)
- •Kein Verschieben mehr beim Öffnen von „Fragen". Die Frage „Soll ich mir deine Gespräche merken?" erschien erst, wenn der Server geantwortet hatte — und schob dann den halben Bildschirm nach unten. Die Einwilligung reist jetzt mit dem Konto, das ohnehin geladen ist; die Seite steht damit vom ersten Bild an richtig. Gemessen bei 600 ms Antwortzeit: vorher ein Sprung mit CLS 0,196, jetzt keiner. (#485)
Verbessert
- •Wochentag im Sitzungstab. Die Kachel nannte nur Monat und Tag — ob eine Sitzung auf einen Montag oder einen Samstag fällt, musste man selbst nachrechnen. Jetzt steht der Wochentag vor der Uhrzeit, bei nahen Terminen weiterhin „Heute" bzw. „Morgen". (#484)
- •„Worum geht es?" als Karussell. Nennt eine Frage mehrere Orte oder Projekte, standen die Steckbriefe untereinander und schoben die eigentliche Antwort aus dem Bild. Jetzt liegen sie nebeneinander, werden gewischt und zeigen mit Punkten an, wie viele es sind. (#484)
Behoben
- •„8 Beschlüsse" und die Suche fand nichts. Die gespeicherten Treffer eines Themas zeigten auf Beschlüsse, die es nach einer Neu-Extraktion nicht mehr gab — auf dem Server waren das alle. Der Zähler auf der Themen-Karte zählt jetzt nur, was die Suche auch findet, verwaiste Verweise werden beim Abgleich entfernt, und es werden mehr Treffer je Thema gespeichert (25 statt 8), damit die Karte nicht weniger zeigt als die Live-Prüfung beim Bearbeiten. (#483)
- •Tab-Leiste auf dem iPhone wieder normal hoch. Mit der iPad-Runde wanderte die Hälfte der Sicherheitszone nach oben — auf dem iPhone wurde die Leiste dadurch rund 17 Punkte höher. Der Ausgleich gilt jetzt nur noch für breite Touch-Geräte. (#483)
- •Mehr Luft im Thema-Bearbeiten-Blatt: Der Kasten „Passt gerade auf" klebte an den Knöpfen. (#483)
v1.10.0
2026-08-15Verbessert
- •Keiner, einer oder zwei Schwerpunkte — je nachdem, was die Woche hergibt. Bisher hob die Karte genau einen Punkt hervor, auch in Wochen, in denen der beste ein Bericht war — und deckelte auf einen, wenn gleich zwei große Entscheidungen anstanden. Jetzt wird hervorgehoben, was schwer wiegt: in ruhigen Wochen gar nichts, in dichten bis zu zwei. Zweimal dieselbe Sache (Bebauungsplan und Flächennutzungsplan zum selben Projekt) zählt dabei als einer. Ein Punkt zu einem eigenen Thema wird immer hervorgehoben. (#481)
Verbessert
- •Der wichtigste Punkt der Woche wird jetzt erkannt, nicht geraten — und in Alltagssprache erklärt. Die Auswahl kannte nur Verfahrenssignale und hielt deshalb wiederkehrende Routine für bedeutend: „Annahme von Zuwendungen" stand 101-mal auf einer Tagesordnung und trotzdem ganz oben. Jetzt zählt Ratslotse, wie oft dieselbe Formulierung schon dran war, liest den Beschlussvorschlag und den Kostenteil der Vorlage — und schreibt in zwei einfachen Sätzen dazu, worum es geht und wen es angeht. Statt „Annahme von Zuwendungen" steht dort jetzt etwa der Flächennutzungsplan fürs Stadion: „Damit werden die Weichen für ein neues Stadion gestellt." (#480)
Verbessert
- •„Die Woche im Rat" hebt jetzt hervor, was Folgen hat. Bisher entschied eine Heuristik aus Verfahrenssignalen, welcher Punkt oben steht — ein Bericht über das Stadtmuseum schlug damit eine Satzungsänderung. Jetzt bewertet dieselbe Tragweite-Rubrik wie bei den Beschlüssen (Betroffene, Geld, Bindungswirkung, Präzedenz), was hervorgehoben wird; die Regeln bleiben der Boden, wenn noch keine Bewertung vorliegt. In der Rückschau auf sechs vergangene Wochen wählt die Karte in fünf davon einen anderen — und einleuchtenderen — Spitzenpunkt, darunter der Stadionneubau statt eines Jahresabschlusses. (#479)
Verbessert
- •„Die Woche im Rat": ehrlichere Abzeichen und weniger Rätsel. Das Abzeichen sagte „2 für dich", auch wenn kein einziges eigenes Thema im Spiel war — gezählt wird jetzt getrennt: „für dich" nur bei echten Themen-Treffern, sonst „wichtig". Jede Sitzung führt zu ihrer Tagesordnung (nicht mehr nur die ohne hervorgehobene Punkte), der hervorgehobene Punkt sagt mit einer Zeile, warum er hervorgehoben ist, und der erklärende Fußtext samt Kalender-Link ist weg — jede Zeile führt ohnehin dorthin. Mobil steht jetzt jede Sitzung einzeln, und „1 weiterer Punkt" klappt auf, statt die Seite zu wechseln. (#478)
Behoben
- •Grüne ohne Farbpunkt. Steht die Fraktion als „Fraktion Bündnis 90/Die Grünen" in der Vorlage (Wort vorn statt hinten), blieb der Punkt vor dem Antragsteller leer. Jetzt trägt sie ihr Grün wie alle anderen. (#478)
- •Sprung auf einen Tagesordnungspunkt endete im Ungewissen. Wer aus der Wochen-Karte „Öffnen" antippte, landete zwar an der richtigen Stelle, aber die Zeile sah aus wie jede andere. Sie wird jetzt kurz hervorgehoben. (#478)
Behoben
- •iPad-Build ließ sich nicht hochladen. Apple verlangt für das iPad-Multitasking alle vier Bildschirm-Ausrichtungen; die App meldete nur drei und wurde beim Upload abgewiesen. Auf dem iPhone bleibt der Kopfstand weiterhin aus — die Ausrichtungen sind jetzt pro Gerätetyp gesetzt. (#477)
v1.9.0
2026-08-14Neu
- •Die App läuft jetzt auch auf dem iPad. Bisher lief sie dort nur im iPhone-Fenster. Jetzt ist sie eine Universal-App für beide Ausrichtungen — und die Navigation richtet sich nach dem Eingabegerät statt nach der Fensterbreite: Maus oder Trackpad bekommen die Seitenleiste, der Finger die Tab-Leiste unten. Ein iPad ist quer 1366 Punkte breit und hätte die Seitenleiste sonst allein wegen seiner Breite bekommen, obwohl die Navigation dort an den Daumen gehört. Auf dem iPad sind die Symbole größer und rücken zu einer mittigen Gruppe zusammen, statt sich über die ganze Gerätebreite zu verteilen. (#475)
- •Erklärung zur Barrierefreiheit. Unter
/barrierefreiheitsteht jetzt, was umgesetzt ist (Tastaturbedienung, Kontraste, „Bewegung reduzieren", Textvergrößerung), wo es noch hakt (Stadtkarte, Diagramme, fremde PDFs) und wie man eine Barriere meldet. Verlinkt aus allen Seiten-Füßen. (#473) - •Datenschutz: Abschnitt zu den Ratsmitgliedern. Die Erklärung beschrieb bisher nur Daten der Nutzer. Jetzt steht auch da, welche Angaben zu Ratsmitgliedern und Verwaltung aus den amtlichen Protokollen verarbeitet werden, woher sie stammen, auf welcher Grundlage — und wie Betroffene widersprechen oder eine Verwechslung korrigieren lassen (Art. 14 DSGVO). (#473)
Behoben
- •Geteilte Antworten und die Fragen-Seite öffnen wieder die App. Seit der Trennung von Fragen und Suche fehlten
/fragenund die Teilen-Links/gin der Universal-Links-Datei — beide landeten im Browser statt in der installierten App. (#473)
Verbessert
- •„Die Woche im Rat" zeigt auf jedem Gerät so viel, wie hineinpasst. Die Karte hat jetzt drei Ausbaustufen und wählt sie nach ihrer eigenen Inhaltsbreite, nicht nach der Fensterbreite: auf dem Telefon Kurznamen der Gremien und Uhrzeit, auf dem Tablet zusätzlich Sitzungsort und Antragsteller, am Desktop dazu die volle Gremienbezeichnung und eine Kurzfassung des wichtigsten Punkts. Pro Karte wird genau ein Punkt hervorgehoben — der Server entscheidet welcher, statt dass jede Sitzung einen eigenen bekommt. Punkte, die zu deinen Themen passen, stehen oben und kommen auch dann durch, wenn sie für sich genommen unauffällig wären. Und der Parteipunkt neben einem Antrag stimmt wieder: „CDU-Fraktion" oder „SPD & Grüne" wurden vorher grau gezeichnet, weil nur exakte Parteinamen erkannt wurden. (#475)
- •Registrieren passt wieder auf den Bildschirm. Auf dem iPhone sprang die Tastatur schon beim Laden auf und schob die Karte so weit nach oben, dass Lotti in der Dynamic Island verschwand. Ohne den automatischen Fokus bleibt der Screen stehen; die drei Fußzeilen-Blöcke sind außerdem zu einem zusammengefasst. (#475)
- •Die Karten auf „Heute" nutzen den Platz besser. Drei Spalten gab es schon ab 1024 Pixeln — dort brach die Überschrift mitten im Wort um. Jetzt gilt: eine Spalte auf dem Telefon, zwei ab Tablet-Breite (die Wochen-Ausgabe über die volle Zeile, damit sie lesbar bleibt), drei erst auf breiten Schirmen — und dort bekommt die textreichste Karte auch die meiste Breite. Außerdem behält jede Karte ihre eigene Höhe, statt auf die längste gestreckt zu werden. Das Raster und die Karten darin richten sich jetzt nach dem Platz, den sie wirklich haben, statt nach der Fensterbreite: drei Spalten erst, wenn die dritte auch etwas trägt; die Sitzungs-Zeilen stapeln sich nur noch dort, wo es eng ist (vorher blieb vom Gremiennamen „K…" übrig); und die Wochen-Ausgabe legt ihre Punkte nebeneinander, sobald sie breit ist — sonst liefen die Zeilen quer über den ganzen Bildschirm.
- •Abgelaufene Bürgerbeteiligungen bleiben dokumentiert. Das Portal der Stadt zeigt nur Verfahren, zu denen gerade eine Beteiligung möglich ist — abgeschlossene verschwinden dort spurlos. Ratslotse behält sie jetzt und markiert sie als beendet, statt sie beim nächsten Abgleich zu löschen. So entsteht mit der Zeit eine Übersicht, die es sonst nirgends gibt. (#471)
- •Ehrlichere Beschriftung der Beteiligungs-Karte. „Bürgerbeteiligung läuft" stand auch dort, wo gar keine Frist mehr lief: Beim Schritt „Abwägungsergebnis" nennt die Quelle bewusst keinen Zeitraum. Jetzt steht dort, was wirklich gilt — laufende Frist, ausliegende Unterlagen ohne Frist, oder abgeschlossenes Verfahren mit Enddatum. (#471)
Neu
- •Hilfe-Seite mit Kontaktformular. Unter
/hilfesteht jetzt ein Kontaktformular, das ohne Anmeldung funktioniert — wichtig für alle, die gerade nicht in ihr Konto kommen. Dazu Antworten auf die häufigsten Fragen (Konto löschen, Passwort vergessen, Benachrichtigungen, falsche Angaben). Verlinkt von Anmeldung, Registrierung, Startseite und beiden Seiten-Füßen; zugleich die Support-Adresse, die Apple für den App Store verlangt. (#471)
Behoben
- •„Fragen" ruckelt beim Öffnen nicht mehr. Die Beispielfragen wurden erst nach einem Moment durch tagesaktuelle ersetzt — und weil die länger sind, sprang der Inhalt darunter um 40 Pixel nach unten, besonders sichtbar in der iPhone-App. Jetzt stehen Platzhalter, solange geladen wird, und jede Zeile hat von vornherein die Höhe, die sie danach behält. (#472)
- •Ein Tagesordnungspunkt aus „Heute" öffnet die richtige Zeile. Der Sprung landete auf der Sitzung, die Tagesordnung musste man selbst durchsuchen — und war sie bereits aufgeklappt, klappte der Link sie sogar zu. Das betraf auch die Sprünge aus Benachrichtigungen.
- •Die Lotti-Tour zeigt wieder dorthin, wo sie hinzeigt. Seit der Trennung von Fragen und Suche stand die Station „Das Ratsinfo" auf dem Punkt „Fragen", und auf der Fragen-Seite lag der Scheinwerfer über der ganzen Seite statt auf etwas Bestimmtem. Die Tour hat jetzt eine eigene Station für „Frag den Rat" — mit einer Beispiel-Antwort samt Fußnote und Quelle, damit man vor der ersten eigenen Frage sieht, was herauskommt. Außerdem: keine Station springt mehr grundlos auf eine andere Seite, und wer die Tour über die Befehlspalette startet, sieht auch dann jede Station, wenn die „Erste Schritte"-Karte längst abgehakt ist. (#468)
Verbessert
- •Ratslotse sagt jetzt, wessen Angebot es ist. Impressum, Anmeldung, Registrierung, Konto-Fuß und Seiten-Fuß stellen ausdrücklich klar: ein privates Bürgerprojekt, kein Angebot der Stadt Oldenburg, keine Verbindung zu Verwaltung, Rat oder Parteien — verbindlich bleiben die amtlichen Originale. (#466)
- •Kurze Fragen bekommen kurze Antworten. Wer nach einem Datum, einer Zahl oder einem Namen fragt („Wann wurde der Bebauungsplan 831 beschlossen?"), bekommt jetzt zwei Sätze statt einer Seite — inklusive Beleg, aber ohne Vorgeschichte und ohne Debatten-Absatz, nach dem niemand gefragt hat. Breite Fragen bleiben unverändert ausführlich. (#465)
Behoben
- •Abgeschnittene Verbands- und Fraktionsnamen in Wortbeiträgen. Namen wurden bei 40 Zeichen hart gekappt — in einer KI-Antwort stand deshalb „Fraktion Bündnis Vernunft und Gerechtigk". Neue Beiträge werden nicht mehr mitten im Wort abgeschnitten, und der Bestand ist repariert: Die vollen Namen stehen in den Anwesenheitslisten derselben Protokolle. (#463)
Neu
- •Von der Antwort direkt auf die Stadtkarte. Die Mini-Karte einer KI-Antwort führt jetzt mit „Auf der Stadtkarte öffnen" in die große Karte — vorgefiltert auf genau die Orte der zitierten Beschlüsse, sichtbar und abwählbar als Chip. (#462)
- •Personen-Badges auch in den Belegen. Die Zugehörigkeit hinter einem Namen (Partei bzw. Verwaltung, mit Peek zu Rolle und Zeitraum) gab es nur im Antworttext; jetzt tragen auch die Sprecher der Ratsdebatten und die Kernaussagen der Parteien dasselbe Abzeichen. Bei Namensvettern bleibt es wie bisher aus, wenn der Vorname fehlt. (#462)
- •Die Lupe führt zur Suche. In der Befehlspalette steht bei leerem Feld „Zur Beschluss-Suche" ganz oben, und wenn die Palette nichts findet, bietet sie an, den Begriff im Volltext aller Beschlüsse zu suchen. (#462)
Verbessert
- •Datenschutz-Hinweis dort, wo er ankommt. Der Satz zum externen KI-Dienst steht jetzt in der Frage-am-Anfang-Karte statt nur in den Einstellungen — genau einmal, vor der ersten Frage. (#462)
- •Der Gesprächs-Knopf sagt, wo du bist. Statt „Gespräche" steht dort der Titel des aktuellen Gesprächs. (#462)
- •Geteilte Antworten sehen im Messenger nach etwas aus. Vorschau mit der Frage als Titel, dem ersten ganzen Satz der Antwort und einem Ratslotse- Bild. (#462)
Behoben
- •„Ab Mitternacht wieder" stimmt jetzt. Das Tageskontingent der gründlichen Recherche sprang nach UTC um — im Sommer also erst um 2 Uhr nachts. Es zählt jetzt nach Oldenburger Zeit, passend zur Anzeige. (#462)
Behoben
- •Weiterfragen-Vorschläge: Pfeil in beide Richtungen, nichts verdeckt. Wer die Vorschläge einmal weitergeschoben hatte, kam nicht mehr zurück — ein Pfeil nach links fehlte. Und die Pfeile lagen auf den Vorschlägen; sie stehen jetzt neben der Zeile, wo sie strukturell nichts verdecken können. Der dunkle Verlauf darunter ist ersatzlos weg. (#460, #461)
Behoben
- •App-Navigation: Suche wieder erreichbar, aktiver Tab wieder sichtbar. In der App fehlte der Suche seit der Trennung von Fragen und Suche jeder Einstieg — sie steht jetzt zuoberst im „Mehr"-Menü. Außerdem war der Sitzungen-Tab nie blau hinterlegt: Die App hängt an jede Adresse einen Schrägstrich, woran mehrere Vergleiche scheiterten. Dieselbe Ursache ließ auf der Fragen-Seite den „Nach oben"-Pfeil erscheinen und hätte geteilte Antwort-Links in der App ins Leere laufen lassen. (#459)
- •Keine schwebenden Pfeile mehr im Gespräch. „Nach oben" und „zum Ende" lagen über dem Senden-Knopf; beide sind weg. Der Eingabebereich ist jetzt deckend, dadurch scrollt der Antworttext nicht mehr sichtbar hinter die Weiterfragen-Pillen. (#459)
- •Personen-Peek bleibt im Bild. Bei Personen am Zeilenende lief die Karte links aus dem Bildschirm — sie wird jetzt in beide Richtungen an den Rand geklemmt. (#459)
- •Scroll-Position überlebt auch auf dem Handy. Der Tipp auf die Tab-Leiste galt fälschlich als „selbst gescrollt" und brach das Wiederherstellen ab; außerdem war die Wartezeit zu knapp für das langsamere Nachladen auf dem Gerät. (#459)
Geändert
- •Weniger Ballast auf der Fragen-Seite. Kürzerer Einleitungssatz, weniger Leerraum über Lotti, der Verlaufs-Knopf sitzt in der Titelzeile — und der Kontext-Chip über dem Eingabefeld entfällt: Ob eine Anschlussfrage zur vorherigen gehört, entscheidet die Suche ohnehin selbst. (#459)
Behoben
- •Auch große Ratssitzungen bekommen Kurzfassungen. Bei knapp 50 Tagesordnungspunkten brach die Zusammenfassung mitten im Satz ab und fiel komplett aus — die Sitzung blieb ohne. Lange Tagesordnungen werden jetzt in Tranchen zusammengefasst; bricht eine ab, gibt es lieber gar keine Zusammenfassung als eine, der stillschweigend Punkte fehlen. (#458)
Behoben
- •Blättern verschiebt die Seite nicht mehr. Beim Klick auf die obere Seiten-Leiste rutschte die Ansicht bei jedem Wechsel ein Stück hoch und runter — der Sprung an den Listenanfang war für die untere Leiste gedacht, oben steht man ohnehin schon dort. (#457)
v1.8.0
2026-08-12Geändert
- •Fragen und Suche sind jetzt zwei Seiten. Die KI-Frage — das Herzstück von Ratslotse — hat mit /fragen eine eigene Adresse und einen eigenen Platz in der Navigation, statt als Modus hinter einem Umschalter der Suche zu wohnen. Die Suche konzentriert sich auf das Durchsuchen der Beschlüsse und behält eine Brücke ins Ratsgespräch („Fragen"-Knopf im Kopf, „Dazu fragen" an Treffern, Handoff bei null Treffern). Alte Links — aus Mails, geteilten Antworten und Lesezeichen — leiten automatisch auf die neue Seite weiter, samt vorbefüllter Frage bzw. geteiltem Gesprächs-Snapshot. (#455)
Verbessert
- •Blättern ohne Ballast. Die obere Seiten-Leiste in Suche und Sitzungsliste ist jetzt klein und sitzt rechts in der Trefferzeile statt als breiter Block über der Liste; der doppelte „Seite X von Y"-Text entfällt. Und der Kalender-Link bei Sitzungen ohne Tagesordnung steht in der Zeile der „Tagesordnung folgt"-Marke statt in einer eigenen Reihe — die Karten wirken wieder gleichmäßig. (#454)
- •Kurzfassungen auch für Sitzungen ohne Benachrichtigung. Die Sätze unter den Tagesordnungspunkten entstanden bisher nur dort, wo jemand eine Meldung bekam. Ein Ops-Lauf trägt sie jetzt für alle kommenden Sitzungen und die letzten Wochen nach. (#451)
- •Die Sicherung umfasst jetzt wirklich alles. Gesichert wurden bisher zwei fest eingetragene Datenbanken — eine dritte wäre still übersprungen worden. Jetzt kommt jede Datenbank mit, dazu die gerenderten Planzeichnungen und die Konfigurationsdatei mit den Zugangsdaten (abschaltbar). Ohne Letztere wäre nach einem Serververlust jede Anmeldung ungültig gewesen.
Behoben
- •Reste des früheren Zeitungs-Teils entfernt. Fünf Tabellen aus der Zeit vor dem Ratslotse wurden bei jedem Start neu angelegt, obwohl sie seit der Ausgliederung leer sind und niemand sie liest; drei zugehörige Daten-Umbauten liefen ebenfalls ins Leere. Alles raus — leere Tabellen werden auf bestehenden Installationen mit aufgeräumt, gefüllte bleiben vorsichtshalber stehen.
Verbessert
- •„Dein Thema" prüft jetzt die Vorlage, nicht nur den Titel. Ob ein Tagesordnungspunkt wirklich das eigene Thema betrifft, entscheidet nach der Titel-Zuordnung ein zweiter Blick in den Vorlagentext — „Sanierung Grundschule X" und „Neubau Sporthalle an der Grundschule X" klingen im Titel gleich nah, erst der Sachverhalt trennt sie. Punkte ohne Vorlage (etwa Fraktions-Anträge) bleiben beim Titel-Urteil, und fällt die Prüfung aus, bleibt die Zuordnung stehen. (#450)
Behoben
- •Themen-Zuordnung würfelt nicht mehr. Derselbe Tagesordnungspunkt wurde mal gemeldet, mal nicht — die Zuordnung lief mit zufälliger Streuung. Jetzt entscheidet sie deterministisch. Außerdem riss eine zu lange Antwort das Ergebnis mitten im Datensatz ab und hätte den ganzen nächtlichen Lauf beenden können; sie hat jetzt mehr Platz, und ein unbrauchbares Ergebnis überspringt nur diese eine Sitzung. (#450)
Neu
- •Kurzfassung unter jedem Tagesordnungspunkt. Ein Satz, worum es geht — dieselbe Zusammenfassung, die auch in der Tagesordnungs-Mail steht, jetzt direkt in der aufgeklappten Tagesordnung. Routine-Punkte (Beschlussfähigkeit, Protokollgenehmigung) bleiben bewusst ohne. (#449)
Verbessert
- •Blättern geht jetzt auch oben. Suche und Sitzungsliste haben ihre Seiten-Knöpfe zusätzlich über der Liste — bisher musste man nach jedem Seitenwechsel wieder ans Ende scrollen, um weiterzublättern. (#449)
Behoben
- •Scrollbalken passen sich dem Dunkelmodus an. Der Kanal blieb weiß und schnitt eine helle Spur durch die dunkle Oberfläche — jetzt färbt der Browser Scrollbalken, Auswahlfelder und andere native Bedienelemente passend zum Modus. (#448)
Verbessert
- •Seiten behalten ihren Stand — wie man es von einer App erwartet. Wer in der Sitzungsliste weit nach unten scrollt, kurz auf einen anderen Tab wechselt und zurückkommt, steht wieder an derselben Stelle statt am Listenanfang. Genauso überleben Suchtext, Ausschuss-Filter und Zeitraum den Abstecher. Scrollt man beim Zurückkommen selbst, bleibt die Hand am Steuer — dann springt nichts mehr. (#446)
Verbessert
- •„Morgen" statt „Do., 13.08." Sitzungen, die heute, morgen oder gestern sind, sagen das jetzt auch — im Dashboard und in der Sitzungsliste, das genaue Datum bleibt an der Kachel bzw. als Titel. Die Angabe kommt vom Gerät und stimmt auch, wenn die App über Mitternacht offen bleibt. (#445)
Neu
- •Zusagen der Verwaltung werden sichtbar. „Die Verwaltung sagt zu, den Zeitplan vorzulegen" — solche Selbstverpflichtungen stehen in den Protokollen, gingen in den Belegen aber unter: Sie sind kurz und nüchtern formuliert und verloren jedes Duell gegen ausführliche Reden. Sie haben jetzt einen eigenen Kanal, ein eigenes Abzeichen in den Belegen, und die Antwort nennt sie ausdrücklich mit Datum. Reine Verfahrens-Floskeln („sichert eine Antwort zu Protokoll zu") bleiben draußen.
Verbessert
- •Wiederholte Fragen antworten fast sofort. Die Bewertung der gefundenen Beschlüsse ist mit Abstand der teuerste Schritt der Suche; sie wird jetzt je Frage gemerkt. Wer eine Beispielfrage anklickt, einen Weiterfragen-Chip nutzt oder dieselbe Frage später erneut stellt, wartet dafür nicht noch einmal — gemessen 3,6 Sekunden auf 0,07 Sekunden bei unveränderter Reihenfolge der Treffer. Neue Fragen sind unberührt.
- •Ehrliche Zeitangabe bei der Gründlichen Recherche. Sie versprach „1–2 Minuten", brauchte real aber rund 30 Sekunden. Karte, Umschalter und Hinweis nennen jetzt den gemessenen Wert.
- •Erste Frage nach einem Neustart ist schneller. Der Warmlauf lädt nun auch die Zusatzkanäle (Pressemitteilungen, Wortbeiträge) vor, statt sie die erste Frage bezahlen zu lassen.
- •Angemeldete landen direkt im Dashboard. Wer eingeloggt ratslotse.de aufruft, sieht nicht mehr die Werbeseite, sondern seine Startseite mit Themen und Sitzungen. Die Startseite bleibt erreichbar: über „Startseite" im Menü-Fuß (bzw. ratslotse.de/?start=1) — dann bleibt sie für die ganze Sitzung stehen, auch beim Klick aufs Logo. Nach dem Abmelden erscheint sie ohnehin wieder. (#444)
Neu
- •Tagesordnungen zeigen die Anhänge ihrer Punkte. Jeder TOP verlinkt jetzt seine Dokumente aus dem Ratsinformationssystem — gerade Fraktions-Anträge ohne Vorlage hingen bisher nur dort und waren in der App unsichtbar. Die Anhänge füllen sich mit dem täglichen Abgleich für alle kommenden Sitzungen. (#443)
Verbessert
- •„Tagesordnung geändert"-Meldungen zeigen nur noch die Unterschiede. Statt der kompletten Liste steht in der Mail, was sich getan hat: neue Punkte grün, verschobene und umformulierte gelb (mit dem alten Wortlaut), gestrichene rot durchgestrichen. Ein eingeschobener Punkt färbt dabei nicht die halbe Liste um, nur weil sich Nummern verschieben — verglichen wird über den Titel. (#440)
Behoben
- •Zurück von der Personen-Seite führt wieder in die Antwort. Der Sprung aus dem Personen-Peek lud die Seite bisher komplett neu — beim Zurückkommen war das Gespräch weg und der leere Startbildschirm da. Der Link navigiert jetzt in der App, und das aktive gespeicherte Gespräch wird beim Zurückkommen automatisch wieder geladen. (#442)
- •Keine doppelte Partei mehr hinter Personennamen. Nennt der Antworttext die Partei direkt hinter dem Namen in Klammern („Ulf Prange (SPD)"), ersetzt das Badge die Klammer — geschluckt wird nur das nackte Partei-Label derselben Partei, Zusätze wie „(FDP-Fraktion vom 28.07.)" bleiben stehen. (#441)
- •Der Personen-Peek bleibt im Bild. Nahe dem rechten Rand oder der Oberkante lief die Info-Karte aus dem Text bzw. wurde abgeschnitten — sie richtet sich jetzt nach der verfügbaren Seite aus. (#439)
- •„dein Thema"-Markierungen sitzen am richtigen Tagesordnungspunkt. Das Themen-Matching übernahm die TOP-Nummer ungeprüft vom Sprachmodell — das verrutscht bei Nummern-Listen gern um eins (Ö 14.6 trug ein Fliegerhorst-Label, gemeint war Ö 14.7). Jetzt liefert das Modell Nummer UND Titel; existiert die Nummer nicht oder widerspricht der Titel, gewinnt der eindeutige Titel-Treffer — und ist gar nichts auflösbar, gibt es keine Markierung statt einer falschen. (#438)
- •Personen-Badges verwechseln keine Namensvettern mehr. Ein Gast im Ausschuss (etwa vom Wasserstraßen-Amt) trug im Text das Badge eines gleichnamigen Gremienmitglieds. Gäste, Protokollführung und beratende Mitglieder machen den kahlen Nachnamen jetzt mehrdeutig — und bei Mehrdeutigkeit entscheidet nur noch ein Vorname im Text, sonst gibt es gar kein Badge. (#437)
Neu
- •Kleine Zugehörigkeits-Badges hinter Personennamen in KI-Antworten. Erwähnt eine Antwort ein Ratsmitglied, steht bei der ersten Nennung ein kompakter Punkt in Parteifarbe mit Kürzel dahinter („Lükermann ·Volt"); Verwaltungsleute tragen „Stadt", Ehemalige einen grauen „ehem."-Punkt — nie eine veraltete Rolle als aktuell. Antippen öffnet eine Karte mit vollem Namen, Amt bzw. Fraktion, belegtem Zeitraum aus den Anwesenheitslisten und dem Link zur Personen-Seite. Die Ämter der Verwaltungsspitze („Oberbürgermeister", „Stadtkämmerin") stammen aus den Protokollen selbst; bei mehrdeutigen Nachnamen erscheint lieber kein Badge als ein geratenes. Funktioniert im Gespräch, im Recherche-Bericht und auf geteilten Antworten. (#435)
Verbessert
- •Der Fragen-Startbildschirm passt auf einen Handy-Bildschirm. Kürzerer Untertitel, weniger Leerraum, mobil drei statt vier Beispielfragen (die vierte gibt es weiter am großen Bildschirm) — nichts verschwindet mehr hinter dem Eingabefeld. (#433)
- •Kein doppelter Einstieg mehr bei „Was ist …?"-Fragen. Der Steckbrief „Worum geht es?" und die Antwort sagten dort dasselbe — bei einer reinen Definitionsfrage *ist* die Antwort die Definition. Die Karte entfällt jetzt genau dort; der Hintergrund fließt weiterhin in die Antwort ein, die ihn mit Quellen belegt. Bei Sachstands- und Themenfragen („Wie ist der Stand bei der Cäcilienbrücke?") bleibt beides stehen — dort ergänzen sich Steckbrief (was es ist) und Fazit (wo es steht).
Behoben
- •Das Eingabefeld der KI-Frage sitzt jetzt wirklich auf der Tab-Leiste. Der zweite Anlauf:
stickykann ein Element nur nach oben halten — auf kurzen Seiten blieb darunter eine Lücke. Jetzt ist der Composer auf dem Handy fest über der Tab-Leiste verankert, ein mitwachsender Platzhalter hält das Gesprächsende frei. Dabei eine tiefere Ursache behoben: Die Einstiegs-Animation jeder Seite hielt dauerhaft eintransformund kaperte damit jedes fest positionierte Element der Seite. (#431)
Neu
- •„Worum geht es?" — Einordnung vor der Antwort. Nennt eine Frage ein bekanntes Objekt (GSG, Cäcilienbrücke, Fliegerhorst), steht jetzt ein kurzer Steckbrief darüber: was das ist und was es mit der Stadt zu tun hat. Fragen wie „Was ist die GSG und was macht sie?" beantworten reine Beschluss-Zitate schlecht — die Beschreibung dazu lag längst in den Themen-Daten, wurde von der Frage-Antwort aber nie gezeigt.
- •Ausblick: „Wie es weitergeht" auch bei der schnellen Frage. Steht das Thema demnächst auf einer Tagesordnung, nennt die Antwort Termin, Gremium und geplante Behandlung. Bisher blickte nur die Gründliche Recherche nach vorn — ausgerechnet bei „Wie ist der aktuelle Stand …?", der häufigsten Frage.
Verbessert
- •Ehrlicher Hinweis, wenn die Beleglage dünn ist. Findet die Suche zu einer Frage nur wenige und schwach passende Beschlüsse, sagt die Antwort das jetzt — statt im gleichen selbstbewussten Ton zu klingen wie bei gut belegten Themen. Dazu ein Knopf, der die Gründliche Recherche startet, die auch Gutachten und Protokolle liest.
- •Lange Antworten beginnen mit einem Fazit. Umfangreiche Themen führen jetzt mit einer Zeile „Kurz gesagt: …", bevor die Gliederung kommt.
- •Die Aussprache zu einem Bericht steht jetzt auch in der Antwort. Wenn „Frag den Rat" einen Bericht zitiert, kommen die Wortbeiträge aus genau diesem Tagesordnungspunkt mit dazu — bisher fand die Suche nur Beiträge, die zufällig dieselben Wörter benutzten wie die Frage. Bei der Frage nach dem Sondermüll auf dem Fliegerhorst fehlte deshalb die jüngste Debatte vom Februar 2026 über erhöhte Vinylchlorid-Werte; die Antwort endete mit einer beruhigenden Aussage von Juni 2025. Jetzt ist sie dabei.
- •Keine maschinellen Einschätzungen mehr als Aussage des Rates. Ratslotse bewertet intern die Tragweite jedes Beschlusses. Diese Begründung konnte in einer Antwort landen und klang dort wie eine Feststellung aus dem Rathaus („Dieser Beschluss wird als weitreichend … eingestuft"). Sie steuert jetzt nur noch die Gewichtung und taucht im Text nicht mehr auf.
- •Aufgeräumter Fragen-Screen auf dem Handy. Aus Tims TestFlight-Feedback: Die Gesprächs-Historie sitzt jetzt als Knopf oben rechts im Seitenkopf (statt als breite Zeile mitten im Screen), der KI-Datenschutz-Hinweis wohnt in den Einstellungen bei der Gespräche-Karte, und der „Gründlich recherchieren"-Schalter steht als Pill direkt über dem Eingabefeld. Der Composer klebt außerdem in jeder Scroll-Lage an der Tab-Leiste, statt sich beim Scrollen vom unteren Rand zu lösen, und der schwebende „Nach oben"-Pfeil erscheint im Ratsgespräch nicht mehr (er lag genau über dem Senden-Knopf). (#427)
Behoben
- •Der Ausblick auf kommende Beratungen war immer leer. Die Abfrage verlangte ein leeres Ergebnis-Feld — bei künftigen Terminen steht dort aber die geplante Behandlung („Vorberatung", „Kenntnisnahme"). Gemessen: 22 anstehende Termine, davon 0 gefunden. Betraf auch den Bericht der Gründlichen Recherche.
- •Lange Sprungmarken-Chips schieben die Seite nicht mehr seitlich weg. Ein langer Abschnittstitel im Recherche-Bericht machte seinen Chip breiter als das Telefon — die ganze Seite hing dann angeschnitten in der Luft (Tims TestFlight-Screenshot). Jetzt wird der Chip-Text mit „…" gekürzt. (#427)
- •„###"-Überschriften in KI-Antworten werden als Überschriften gezeigt. Bisher kannte die Antwort-Darstellung nur „##" — tiefere Ebenen standen als rohe Rauten im Text. (#427)
- •Die „Keine passenden Wortbeiträge von:"-Zeile nennt nur noch Parteien. Vorher listete sie alle Anwesenheits-Labels der Protokolle — Verbände, Gremienrollen und kaputte Einzel-Label („ADFC", „Elternvertreter", „BSW Für RH Dr. Onken"); außerdem erschien „CDU-Fraktion" neben „CDU". Jetzt filtert eine kuratierte Ratsparteien-Liste, Schreibvarianten werden zusammengeführt. (#427)
- •Die Tagesordnungs-Mail spricht wieder über eine bevorstehende Sitzung. Die Punkte standen in der Vergangenheit („Der GLOBE-Bericht wurde vorgestellt"), obwohl der Ausschuss erst noch tagt — das behauptete Ergebnisse, die es noch gar nicht gibt. Jetzt heißt es „Vorgestellt wird …" bzw. „Der Ausschuss berät über …". (#426)
- •Der Sitzungsort steht wieder in der Mail. Unter dem Termin blieb eine Ortsmarke ohne Ort: Der Scraper suchte ihn in der Überschrift der Sitzungsseite, wo er nicht steht — er kommt aus dem Feld „Raum". Damit tragen auch die Sitzungslisten in der App wieder ihren Ort; fehlt er ausnahmsweise, entfällt die Zeile ganz statt leer dazustehen. (#426)
v1.7.1
2026-08-10Behoben
- •Der Eingabe-Composer der KI-Frage liegt wieder über der Tab-Leiste. Auf dem Handy verschwand das Eingabefeld hinter der neuen Tab-Bar-Navigation; jetzt klebt es sichtbar darüber. (#424)
v1.7.0
2026-08-10Verbessert
- •Keine Anreden-Dubletten mehr im Ratsmitglieder-Verzeichnis. „Herr Jens Freymuth" und „Jens Freymuth" waren zwei Einträge — Anreden (Herr/Frau/ Ratsherr/Ratsfrau) werden jetzt beim Zusammenführen und in der Anzeige entfernt; Titel wie „Dr." bleiben Teil des Namens. (#419)
- •Alle Wortbeiträge einer Person — mit Gremien-Filter. „Aus den Protokollen" zeigte nur die zehn jüngsten Beiträge; wer viel redet, kommt aber auf weit über tausend. Jetzt lädt die Liste seitenweise nach, nennt die Gesamtzahl und lässt sich auf ein Gremium eingrenzen (mit Anzahl je Ausschuss). Dabei behoben: Namensvettern wurden zusammengeworfen — trägt ein Protokolleintrag einen anderen Vornamen zum selben Nachnamen, gehört er nicht mehr auf die Seite. (#420)
- •Ehrlicher Hinweis auf den Ratsmitglieder-Seiten. Unter den Wortbeiträgen steht jetzt, dass die Protokolle sinngemäß zusammenfassen und nicht jede Wortmeldung erfassen — die Liste ist ein Ausschnitt, kein vollständiges Redeprotokoll. (#418)
Neu
- •Die Gründliche Recherche meldet sich, wenn sie fertig ist. Wer sie in der App startet und das Handy weglegt, bekommt eine Mitteilung, sobald der Bericht steht — Antippen öffnet ihn. Auch ein Fehlschlag meldet sich, damit niemand auf einen Bericht wartet, der nicht mehr kommt; ein selbst abgebrochener Lauf bleibt still. Wer gerade zusieht, bekommt kein Banner über den eigenen Text. Die Meldung beantwortet eine eigene Handlung und wartet deshalb nicht auf das nächste Zustellfenster; nur wer Benachrichtigungen ganz abgeschaltet hat, hört auch hier nichts. (#413)
- •Kostenentwicklung bei Geld-Fragen. Der Geld-Baustein zeigt die zitierten Beträge jetzt als „Beträge im Zeitverlauf" — chronologisch mit Datum, Balken und Fußnote. Ein „von X auf Y gestiegen"-Vergleich erscheint nur, wenn beide Beträge zur selben Vorlage gehören; Beträge verschiedener Vorlagen bleiben eine neutrale Zeitreihe (Planungskosten und Gesamtkosten wären sonst ein Äpfel-Birnen-Pfeil). Dazu sagt der Debatten-Block jetzt ehrlich, dass Protokolle Wortbeiträge sinngemäß zusammenfassen — ohne Anspruch auf Vollständigkeit. (#417)
- •Aufgeräumte Navigation auf dem Handy. Statt drei gestapelter Nav-Ebenen (Burger-Menü, wischbare Ansichts-Pills, Modus-Schalter) gibt es jetzt eine feste Tab-Leiste unten: Start · Fragen · Sitzungen · Themen · Mehr. Hinter „Mehr" liegen Stadtkarte, Analyse, Quiz, Konto, Feedback, Abmelden und die Pflicht-Links — als Liste mit Beschriftung, nicht als Icon-Gitter. Das Burger-Menü und die orangene Schwebe-Taste entfallen; der Kopf der App behält nur Logo und Suche.
- •Eine Gesprächs-Zeile statt zweier Schwebe-Icons. Im Ratsgespräch zeigt auf dem Handy eine Zeile über dem Chat, in welchem Gespräch du bist, und öffnet die Gespräche-Liste als Bottom Sheet — „Neues Gespräch" ist dort die erste Aktion. Zeilen lassen sich nach links wischen: Umbenennen oder Löschen (Umbenennen ist neu, auch per API). Die Zeile erscheint nur, wenn Gespräche gespeichert werden und es etwas zu zeigen gibt; ohne Speichern steht stattdessen ein schlichter „Neues Gespräch"-Link über dem Eingabefeld. Am Rechner bleibt alles wie gewohnt.
- •„Was sagt Ratsfrau X dazu?" — Fragen zu Personen. Nennt eine Frage ein Ratsmitglied, antwortet „Frag den Rat" aus dessen Wortbeiträgen („Laut Protokoll sagte …") statt nur aus Beschlüssen; der Belege-Block zeigt die Beiträge der Person. Auf den Ratsmitglieder-Seiten steht neu die Sektion „Aus den Protokollen" mit den jüngsten Wortbeiträgen. (#414)
Verbessert
- •FDP und Volt getrennt statt als Gruppen-Eimer. Die Protokolle führen nur die Ratsgruppe „FDP/Volt" — über die Personen-Stammdaten wird jeder Beitrag jetzt der Einzel-Partei des Sprechers zugeordnet: Der Parteien-Baustein führt FDP und Volt als eigene Zeilen (Volt mit eigener Farbe), und die Fußzeile benennt ehrlich, wenn eine der beiden nichts Passendes gesagt hat. „Für Oldenburg" bleibt als Gruppe stehen — mehr gibt das Ratsinformationssystem dort nicht her. (#414)
- •Wortbeiträge in voller Länge lesbar. Die Debatten-Belege unter den Antworten waren auf 220 Zeichen gekappt — mitten im Satz. Jetzt lässt sich jeder Beitrag komplett aufklappen („Ganzen Beitrag anzeigen"), im Ratsgespräch wie auf den Ratsmitglieder-Seiten. Bei Personen-Fragen entfällt der Parteien-Baustein — die Frage zielt ja auf eine Person. (#414)
Behoben
- •Der Fortschritt der Gründlichen Recherche läuft wieder mit. Die Karte blieb beim ersten Schritt stehen und sprang dann unvermittelt zum fertigen Bericht: Der Browser fordert komprimierte Antworten an, und die Kompression sammelte den Ereignis-Strom der Recherche, statt ihn durchzulassen. Jetzt kommen Facetten, gelesene Dokumente und Phasen wieder in dem Takt an, in dem sie entstehen. (#413)
- •Vorschläge und Weiterfragen beachten den Recherche-Schalter. Wer „Gründlich recherchieren" eingeschaltet und dann einen Beispiel-Vorschlag, einen Weiterfragen-Chip oder „Dazu fragen" angetippt hat, bekam wortlos die schnelle Antwort — den Schalter las bisher nur das Absenden im Eingabefeld. Jetzt starten auch diese Wege die gründliche Recherche. („Einfacher erklären", „Ausführlicher" und „stattdessen schnell fragen" bleiben bewusst schnell.) (#413)
- •Geteilte Antworten zeigen wieder alles. Wer einen „Frag den Rat"-Link verschickte, teilte bisher nur Text und Beschlussliste: Die Ratsdebatten, der Parteien-Baustein, „Aus den Anlagen" und „Aktuelles von der Stadt" fehlten auf der geteilten Seite komplett. Sie wandern jetzt mit in den Link — auch für Eingeloggte, die ihn im Ratsgespräch öffnen. Außerdem setzte die geteilte Seite ganze Absätze fett, sobald sie mit einer Zwischenüberschrift begannen; sie benutzt jetzt dieselbe Darstellung wie das Gespräch (Überschriften, Listen, Fettdruck, klickbare Fußnoten). Bereits geteilte ältere Links behalten ihren bisherigen Umfang. (#421)
- •Datumsangaben in den Antworten stehen deutsch da. In Sätzen wie „Laut Protokoll sagte Ratsherr Wenzel am 2026-06-01 …" rutschte das technische Datumsformat aus den Quellenangaben in den Antworttext. Der Kontext für die KI trägt die Daten jetzt durchgängig als „01.06.2026", und bereits gespeicherte Antworten werden beim Anzeigen umgeschrieben. (#421)
- •Gespeicherte Gespräche verlieren keine Bausteine mehr. Beim Öffnen eines Gesprächs aus dem Verlauf fehlten bisher die Ratsdebatten, der Parteien-Baustein und „Aktuelles von der Stadt" — sie wurden schlicht nicht mitgespeichert. Jetzt wandern Debatten, Presse und bei Recherchen auch Anlagen, Termine und die Meta-Zahlen mit in den Gesprächs-Snapshot; ältere Gespräche bleiben ohne (dort wurden die Daten nie gesichert). Außerdem scrollt die Gespräche-Liste jetzt, statt bei vielen Einträgen über den Bildschirmrand zu wachsen, und jeder Eintrag zeigt neben dem Datum auch die Uhrzeit. (#412)
- •Die Bewertung einer Antwort lässt sich ändern. Wer einmal „Daumen runter" gedrückt hatte, konnte das nicht mehr korrigieren — beide Daumen waren danach dauerhaft gesperrt. Jetzt bleiben sie anklickbar: ein Wechsel ersetzt die frühere Bewertung (samt hinfällig gewordener Begründung), ein erneuter Klick auf denselben Daumen ändert nichts. (#411)
Verbessert
- •Gutachten und Konzepte sind im Recherche-Bericht belegt. Die Anlagen einer Vorlage flossen zwar schon in die Gründliche Recherche ein, standen im Text aber nur als Nebensatz — ob der Bericht sie wirklich benutzt hat, war nicht zu erkennen. Jetzt tragen Aussagen aus einer Anlage eine eigene kleine Fußnote (a, b, c … statt der Zahlen der Beschlüsse); ein Klick springt zur passenden Karte unter „Aus den Anlagen". Anlagen, die gelesen, aber nicht belegt wurden, treten optisch zurück.
- •Die Quellen-Liste zeigt beim Ausklappen nur noch die übrigen Treffer. „Alle 28" listete bisher auch die oben schon genannten Quellen ein zweites Mal auf, dort in Relevanz- statt Fußnoten-Reihenfolge — die Nummern wirkten durcheinandergewürfelt. Der Knopf heißt jetzt „N weitere" und öffnet ausschließlich das, was in der Antwort nicht zitiert wurde.
- •„Frag den Rat" schlägt wechselnde Beispielfragen vor. Statt immer derselben zwei Klassiker rotieren die Vorschläge über einen kuratierten Pool von 22 Fragen — jede vorab durch das echte Retrieval geschickt und nur aufgenommen, wenn sie tatsächlich viele einschlägige Beschlüsse trifft (Themen ohne Substanz im Ratsinformationssystem bleiben draußen). Deckt ein frischer Vorschlag schon ein Thema ab, wird es nicht doppelt angeboten. Außerdem sind die frischen Vorschläge lesbarer: Firmierungen und Titel-Anhängsel des Ratsinformationssystems fallen weg, und abgeschnitten wird nur noch an der Wortgrenze — statt „Stadion Oldenburg GmbH & Co. KG: Stadionneubau Maastrichter " steht dort jetzt „Stadionneubau Maastrichter Straße". (#410)
- •Admins steuern die Frage-Limits je Konto. Im Nutzer-Detail des Admin-Panels lässt sich das Tageskontingent der Gründlichen Recherche erhöhen oder ganz ausschalten (0 = unbegrenzt, leer = Standard 5) und ein Konto von den Rate-Limits der Frage-Endpoints befreien — etwa für Power-Nutzer oder Tests. (#409)
- •Die Suche wird akkurater — drei deterministische Signale neben der KI. Erkennt die Frage ein benanntes Objekt (Cäcilienbrücke, Fliegerhorst — auch umgangssprachlich als „Cäci"), kommen dessen verknüpfte Beschlüsse gesetzt in die Auswahl; Sachstands-Fragen („Wie ist der Stand …?") bevorzugen im Ranking frischere Beschlüsse; und durchläuft dieselbe Vorlage mehrere Gremien, weist die Antwort ältere Stationen als überholt aus, statt sie als aktuellen Stand zu verkaufen. Die Kurzform-Aliasse pflegen wir in derselben Tabelle wie die Themen-Dubletten. (#408)
Neu
- •Die Gründliche Recherche liest jetzt auch die Anlagen. Gutachten, Konzepte und Stellungnahmen zu den Vorlagen (z. B. Schallgutachten und Verkehrskonzept zum Stadionneubau) sind als eigener Recherche-Kanal durchsuchbar; einschlägige Fundstellen fließen in den Bericht ein und erscheinen als Block „Aus den Anlagen" mit Link aufs Original-PDF. Die schnelle Frage bleibt davon unberührt (und genauso schnell). (#407)
- •„Gründliche Recherche" — der zweite Frage-Modus. Ein Umschalter am Eingabefeld lässt den Rat gründlich recherchieren: Die Frage wird in Facetten zerlegt, deutlich mehr Beschlüsse samt Vorlagen-Volltexten werden gelesen, und heraus kommt ein gegliederter Bericht mit Sprungmarken, Debatten-Stimmen und einem „Wie es weitergeht"-Block aus dem Sitzungskalender. Die Recherche läuft auf dem Server weiter, auch wenn man den Tab wechselt, in der App weiternavigiert oder sie ganz schließt — der fertige Bericht wartet dann im Gespräch. Dauert 1–2 Minuten, 5 Recherchen pro Tag; Abbruch (mit Teilbericht aus den fertigen Facetten) und Fehler kosten kein Kontingent. (#406)
- •Die KI-Suche kennt jetzt auch die Debatten. Aus den Sitzungsprotokollen werden Redebeiträge, „Anfragen und Anregungen" samt Verwaltungsantwort, Einwohnerfragen und Zusagen der Verwaltung herausgelesen und durchsuchbar gemacht. Wer nach einem Thema fragt, bekommt neben den Beschlüssen einen Block „Aus den Ratsdebatten" — also auch das, was im Rat nur besprochen wurde und in keinem Beschlusstext steht (etwa der Streit um die Fliegerhorst-Altlasten). Die Antwort nennt solche Stellen ehrlich als „Laut Protokoll …", nie als Beschluss. (#387)
Verbessert
- •Der Parteien-Baustein benennt fehlende Fraktionen. Findet die Suche zu einer aktiven Ratsfraktion keine passenden Wortbeiträge, steht das jetzt ausdrücklich in der Fußzeile („Keine passenden Wortbeiträge gefunden von: …") — statt die Fraktion stillschweigend wegzulassen. (#405)
Verbessert
- •Fraktions-Zeilen im Parteien-Baustein sind aufklappbar. Ein Klick auf eine Fraktion zeigt die Original-Wortbeiträge, aus denen ihre Position verdichtet wurde — mit Sprecher, Datum und Gremium. (#404)
Verbessert
- •Die Suche versteht Fragen jetzt aus mehreren Blickwinkeln. Jede Frage wird intern zusätzlich umformuliert (etwa eine Stand-Frage auch als Finanzierungs- und Planungs-Frage) — dadurch hängt die Qualität der Treffer deutlich weniger davon ab, wie genau man das Thema benennt. Und bei Themen mit langer Beratungs-Historie wie dem Stadionneubau antwortet „Frag den Rat" jetzt ausführlich und gegliedert: mit Zwischenüberschriften, Listen und einem Überblick am Anfang, statt alles in vier Sätze zu pressen. (#403)
Verbessert
- •Von geteilten Antworten direkt weiterfragen. Wer angemeldet ist, springt von einer geteilten Antwort mit einem Klick ins Ratsgespräch — die geteilte Frage samt Antwort steht dort als Gesprächsbeginn, und Anschlussfragen knüpfen automatisch daran an. Ohne Konto zeigt die Seite „Kostenlos registrieren" und „Anmelden"; nach beidem geht es direkt im Gespräch weiter, nicht auf dem Dashboard. (#402)
Verbessert
- •Geteilte Links zeigen eine echte Vorschau. Wer einen „Frag den Rat"-Link in WhatsApp, Signal oder Slack teilt, sieht dort jetzt die Frage als Titel und den Anfang der Antwort als Beschreibung — statt einer generischen Ratslotse-Karte. Geteilte Antworten bleiben von Suchmaschinen ausgenommen. (#401)
Verbessert
- •Teilen teilt jetzt die Antwort, nicht nur die Frage. Der Teilen-Knopf unter einer Antwort erzeugt einen Link, der genau diese Antwort zeigt — mit Frage, Fußnoten und den zitierten Beschlüssen, öffentlich lesbar auch ohne Konto. Vorher enthielt der Link nur die Frage, und wer ihn öffnete, bekam eine neu berechnete, womöglich andere Antwort. Geteilte Antworten werden beim Löschen des Kontos mit entfernt. (#400)
Verbessert
- •Der Parteien-Baustein zeigt Haltung und Datenbasis. Jede Fraktion trägt jetzt ein kleines Label — „dafür", „dagegen" oder „Haltung gewandelt", wenn sich eine Position über die Jahre erkennbar geändert hat — und daneben steht, aus wie vielen Wortbeiträgen die Einschätzung verdichtet wurde. Die Positionen entstehen jetzt aus der Breite der Beiträge je Fraktion statt aus einer einzelnen Aussage, und einmal berechnete Einschätzungen werden wiederverwendet, bis neue Wortbeiträge zum Thema dazukommen — dann wird automatisch nachverdichtet. (#398)
Neu
- •Baustein „Das sagen die Parteien". Bei Themen mit echter Debatte zeigt „Frag den Rat" unter der Antwort die Positionen der Fraktionen: Farb-Punkt, Haltung in ein bis zwei Sätzen, dazu eine Kernaussage mit Sprecher und Datum — als Paraphrase aus den Sitzungsprotokollen, bewusst ohne Anführungszeichen. Widersprechen sich Beiträge derselben Fraktion, steht „uneinheitlich" daneben. Über „Dazu fragen" an jeder Zeile lässt sich die Position einer Fraktion direkt vertiefen. Der Baustein erscheint nur, wenn mindestens zwei Fraktionen substanziell zu Wort kamen. (#395)
Verbessert
- •Antworten geben jetzt auch die Debatte wieder. Bei Themen mit Wortbeiträgen und Pressemitteilungen fasst „Frag den Rat" nicht mehr nur die Beschlüsse zusammen, sondern webt das Meinungsbild aus dem Ratssaal („Laut Protokoll betonte …") und den Stand der Verwaltung („Laut Pressemitteilung vom …") in die Antwort ein — klar getrennt von den zitierten Beschlüssen. (#392)
Verbessert
- •„Frag den Rat" statt „KI-Frage". Das Frage-Feature tritt jetzt unter seinem eigenen Namen auf: Der Umschalter heißt „Suchen | Fragen", Knöpfe und Menüs sagen „Frag den Rat", und Kurzfassungen oder Einschätzungen heißen schlicht „automatisch" statt „KI". Dass im Hintergrund ein KI-Dienst arbeitet, steht weiterhin transparent im Datenschutzhinweis unterm Eingabefeld, in der Datenschutzerklärung und in der Technik-Doku — nur eben nicht mehr in jeder Überschrift. (#391)
Verbessert
- •Drei Live-Befunde vom Morgen behoben. Reißt die Verbindung zum KI-Dienst mitten in der Antwort ab, wird sie automatisch einmal neu erzeugt statt mitten im Wort stehenzubleiben. Die Bewertung (Daumen hoch/runter) steht jetzt unter jeder Antwort, nicht mehr nur unten in der Belege-Spalte. Und die Blöcke „Aktuelles von der Stadt" und „Aus den Ratsdebatten" zeigen nur noch wirklich einschlägige Treffer: Ein Präzisions-Prüfschritt sortiert Beifang wie Ampel-Wartungsmeldungen zur Straßenbau-Frage aus — im Zweifel bleibt der Block leer. (#389)
Verbessert
- •Debatten-Nachschliff aus dem Review. Findet die KI-Frage zwar keine Beschlüsse, aber Wortbeiträge aus den Ratsdebatten, sagt die Antwort das jetzt ehrlich, statt „nichts gefunden" neben sichtbaren Belegen zu behaupten. Intern: Protokolle ohne einen einzigen Wortbeitrag werden als erledigt markiert (statt jede Nacht erneut geprüft), und parallele Extraktionsläufe können sich keine verwaisten Suchindex-Einträge mehr hinterlassen. (#388)
Verbessert
- •Die KI-Suche antwortet deutlich schneller. Zwei Stellschrauben: Die Server-VM nutzt jetzt die modernen Vektorbefehle ihres Prozessors (die der Relevanz-Sortierung bisher vorenthalten waren), und die Textpaare für die Sortierung sind auf das Wesentliche gekürzt — bei unveränderter Trefferquote im Eval sinkt die Zeit bis zu den Quellen von gut zwanzig auf wenige Sekunden. Außerdem bleibt die Aktionszeile mit Teilen, Vorlesen und Bewertung in der Belege-Spalte jetzt immer sichtbar, statt hinter langen Quellenlisten zu verschwinden. (#386)
Verbessert
- •Die Beschluss-Seite bleibt lesbar, auch mit den neuen Angaben. „Vom Vorschlag abgewichen" und der Klima-Check stehen nicht mehr als Kästen in der Erzählspalte, sondern als ruhige Symbolzeilen unter „Auf einen Blick" — ein Klick öffnet die Erklärung, der Klima-Check trägt vorab ein „relevant"/„nicht relevant". Außerdem liest sich „Warum es dazu kam" endlich wie Fließtext: Die harten Zeilenumbrüche aus dem PDF werden zusammengezogen (Silbentrennungen inklusive), Überschriften und Aufzählungen bleiben stehen. Lange Klima-Texte brechen nicht mehr mitten im Wort ab. (#374)
- •Im Ratsgespräch stört weniger. Der Hinweis auf den externen KI-Dienst steht nur noch vor der ersten Frage statt dauerhaft unter dem Eingabefeld, und Impressum, Datenschutz, Changelog und Technik-Doku sind vom mitlaufenden Seitenfuß in den Menü-Fuß gewandert — auf großen Bildschirmen in die Seitenleiste, mobil ins Burger-Menü. (#374)
- •Das Ratsgespräch ist aufgeräumter. Das Eingabefeld klebt jetzt immer unten — auch vor der ersten Frage — und die vorgeschlagenen Weiterfragen liegen als Chips direkt darüber, sodass sie beim Lesen langer Antworten nicht mehr aus dem Blick geraten. Zitierte Quellen sind kompakte einzeilige Pills (Titel + Jahr), Teilen und Drucken sind stille Symbole statt Knöpfe, und am großen Bildschirm wandern Quellen, Pressemitteilungen und Aktionen in eine eigene Spalte neben dem Gespräch; ältere Antworten zeigen nur noch eine aufklappbare Kurzzeile. (#372)
- •Breite Fragen bekommen ausführlichere, strukturierte Antworten. Die starre 2–5-Sätze-Regel ist Geschichte: Eine enge Frage bleibt knapp, aber „Was macht die Stadt alles für den Radverkehr?" darf jetzt die wichtigsten Vorhaben nacheinander nennen — mit dezentem Fettdruck auf den zentralen Projekten und echten Aufzählungen, damit das Auge Halt findet. (#371)
- •Die Weiterfragen-Chips klingen jetzt wie im Gespräch. Da Anschlussfragen den Zusammenhang kennen, müssen die Vorschläge nicht mehr jedes Detail wiederholen — aus „Wer stimmte gegen den Ersatzneubau der Grundschule Wechloy?" wird ein natürliches „Wer stimmte dagegen?". (#369)
Verbessert
- •Das Ratsgespräch bekommt seine Bühne. Auf großen Bildschirmen fassen ein getöntes Panel und eine gleich hohe Belege-Karte das Gespräch zusammen: Das Eingabefeld klebt an der Panel-Unterkante statt irgendwo im Weiß zu schweben, der Verlauf scrollt im Panel, und die rechte Spalte ist nie mehr ein leeres Loch — vor der ersten Frage erklärt sie sich, während der Suche zeigt sie ein Skelett. Dazu: Der Zeitstrahl erscheint nur noch, wenn es wirklich einen Verlauf über mehrere Sitzungen gibt; die Vorlesestimme wählt jetzt die beste deutsche Stimme des Geräts statt der erstbesten; und einer der Beispiel-Vorschläge fragt konkret nach dem wichtigsten frischen Beschluss. Unter der Haube: 31 Feinschliffe aus einer systematischen Edge-Case-Prüfung aller Neuerungen dieses Tages — vom Rate-Limit für anonymes Feedback über die Planbild-Anzeige in der App bis zur sauberen Datums-Ernte aus Protokollköpfen. (#384)
Hinzugefügt
- •Ratsgespräche lassen sich merken — wenn du willst. Beim ersten Öffnen fragt Lotti einmalig, ob Verläufe im Konto gespeichert werden sollen; nur bei „Ja" landet jedes Gespräch unter dem neuen „Gespräche"-Knopf und lässt sich auf jedem Gerät weiterführen oder löschen. In den Konto-Einstellungen gibt es den Schalter samt der Frage, was beim Ausschalten mit den bestehenden Gesprächen passieren soll — und beim Löschen des Kontos verschwinden sie mit. (#382)
- •Antworten lassen sich vorlesen. Ein Lautsprecher-Symbol an jeder KI-Antwort liest den Text mit deutscher Stimme vor — Fußnoten und Formatierung bleiben stumm, ein zweiter Tipp stoppt. Der Knopf erscheint nur, wenn das Gerät Sprachausgabe kann. (#381)
- •KI-Antworten zeigen ihre Orte auf einer Mini-Karte. Zitiert die Antwort Beschlüsse zu konkreten Orten — einer Brücke, einem Baugebiet, einer Straße —, erscheint darunter eine kleine Karte mit nummerierten Pins; ein Tipp auf den Pin öffnet die Quellen-Vorschau, ein Link führt zur großen Stadtkarte. (#380)
- •Fußnoten zeigen erst eine Vorschau. Ein Klick auf eine Zitat-Nummer in der KI-Antwort springt nicht mehr sofort weg, sondern öffnet eine kleine Karte: Titel, Gremium, Datum, Ergebnis und die Kurzfassung des Beschlusses — von dort geht es in den Beschluss oder zur Quellenliste. (#379)
- •KI-Antworten kann man jetzt bewerten. Daumen hoch oder runter direkt an der Antwort — beim Daumen runter fragt Ratslotse optional, was gefehlt hat. Das ist der ehrlichste Qualitätsmesser, den es geben kann: echte Fragen echter Nutzer:innen statt Testfälle. Die Weiterfragen-Zeile bekommt außerdem einen kleinen Weiter-Pfeil — horizontales Wischen mit der Maus ist mühsam, ein Klick nicht. (#378)
- •Das Ratsgespräch denkt mit. Fünf Ideen aus der Design-Werkstatt: Die Antwort sagt ehrlich, worauf sie fußt („stützt sich auf 12 Beschlüsse von 2019 bis 2026"); ein Kontext-Chip über dem Eingabefeld zeigt, worauf sich Anschlussfragen beziehen (✕ beginnt ein frisches Gespräch); unter jeder Antwort laden „Einfacher erklären" und „Ausführlicher" zum Nachjustieren ein; die Beispielfragen beginnen mit frischen Anlässen aus den jüngsten Sitzungen („Neu"); und „Dazu fragen" führt das Gespräch direkt an einer Quelle oder einer Beschlusskarte der Suche weiter. Die Weiterfragen-Zeile läuft jetzt weich aus statt eine graue Scrollbar zu zeigen. (#377)
- •Bebauungsplan-Beschlüsse zeigen jetzt den Plan. Die Planzeichnung aus der Vorlage — bisher nur ein PDF-Download unter „Anlagen" — steht als Bild direkt auf der Beschluss-Seite: antippen öffnet das volle Blatt mit Geltungsbereich, Festsetzungen und Planzeichenerklärung. Ein Beschluss zum B-Plan lebt vom Visuellen; rund 190 Beschlüsse bekommen so ihr Bild, neue Pläne werden wöchentlich nachgerendert. (#375)
- •Beschluss-Seiten zeigen mehr aus den amtlichen Dokumenten — ganz ohne KI. Vier Informationen steckten schon immer in den Vorlagen und Protokollen und werden jetzt einfach herausgelesen: der Klima-Check der Verwaltung (Pflichtvermerk seit 2022, als eigener Kasten unter „Verlauf & Begründung"), das federführende Amt (in der Quellenzeile der Begründung), der Sitzungsort vergangener Sitzungen (bisher immer leer) — und ein Hinweis, wenn der Rat deutlich vom Beschlussvorschlag der Verwaltung abgewichen ist, also die Politik die Verwaltung korrigiert hat (rund 8 % aller angenommenen Beschlüsse). Auch „Frag den Rat" kennt diese Angaben jetzt. Nebenbei erkennt die Antragsteller-Erkennung Fraktionen auch dann, wenn sie in Antrags-PDFs erst nach einem langen Briefkopf genannt werden. (#373)
- •„Frag den Rat" ist jetzt ein Gespräch. Der KI-Frage-Tab wird zum Chat: Fragen und Antworten bleiben untereinander stehen, Anschlussfragen („Und was kostet das?") verstehen den Zusammenhang, und die vorgeschlagenen Weiterfragen führen das Gespräch direkt fort. Die Quellen sind kompakter geworden — zitierte Beschlüsse stehen als antippbare Chips mit Fußnoten-Nummer direkt unter der Antwort, der Rest wartet hinter „Alle N Quellen". Je nach Frage baut die Antwort eigene Elemente ein: eine Zeitleiste der Beratungsstationen bei Verlaufsfragen, Beträge bei Geldfragen, Antragsteller-Kennzeichnung bei Fraktionsfragen — alles direkt aus den Beschlussdaten, nichts davon erfindet die KI. Pressemitteilungen erscheinen klar als externe Links, und wer nichts findet, kann die Frage mit einem Tipp als beobachtetes Thema anlegen. (#368)
Hinzugefügt
- •Läuft zu einem Bebauungsplan gerade die Bürgerbeteiligung, steht das jetzt am Beschluss. Ratslotse gleicht täglich die laufenden Planverfahren auf oldenburg.planungsbeteiligung.de ab und verbindet sie über die Plan-Nummer mit den passenden Beschlüssen: Auf der Beschluss-Seite erscheint ein Hinweis mit Verfahrensschritt und Stellungnahme-Frist samt Link zu den Planungsunterlagen — und auch die KI-Antwort weist darauf hin, wenn sie einen betroffenen Bebauungsplan zitiert. Beschlüsse sagen, was geplant ist; jetzt sieht man auch, wann man selbst dazu Stellung nehmen kann. (#367)
Hinzugefügt
- •Die KI-Frage versteht jetzt Anschlussfragen. Wer nachhakt („Und was kostet das?", „Wer ist dafür zuständig?"), bekommt eine Antwort im Gesprächskontext: Die Frage-Analyse löst Rückbezüge mit Hilfe der letzten Runden auf und macht daraus eine vollwertige Suchfrage — die Suche selbst bleibt dadurch genauso treffsicher wie bei einer ausformulierten Frage (im Messlauf: 100 % Trefferquote inklusive der neuen Ketten-Testfälle). Das ist der Unterbau für das kommende Chat-Interface; die heutige Oberfläche verhält sich unverändert. (#366)
Hinzugefügt
- •„Aktuelles von der Stadt": Die KI-Frage kennt jetzt die Pressemitteilungen der Stadt Oldenburg. Beschlüsse sagen, was entschieden wurde — die Pressemitteilungen sagen, was daraus geworden ist (Spatenstich, Eröffnung, Termine). Passt eine aktuelle Mitteilung zur Frage, erscheint sie als eigener Block unter den Quellen mit Link auf oldenburg.de, und die Antwort darf sie als „Laut Pressemitteilung vom …" einordnen — sauber getrennt von den zitierten Beschlüssen. Ein täglicher Abgleich holt neue Mitteilungen über den RSS-Feed der Stadt. (#365)
- •Die KI-Suche erkennt, was für eine Frage man stellt — und antwortet passend. Verlaufsfragen („Wie ist der Stand bei …?", „Was wurde aus …?") bekommen eine chronologische Antwort mit Datumsangaben von der ersten Beratung bis zum aktuellen Stand, mit mehr Platz als die üblichen 2–5 Sätze. Fragen nach einer Fraktion („Was hat die SPD zu … beantragt?") holen gezielt deren Anträge und Änderungsanträge in die Quellen — und die Antwort sagt ehrlich dazu, dass die Ratsprotokolle kein Stimmverhalten einzelner Fraktionen festhalten, statt eines zu erfinden. Bei Geldfragen („Wie teuer …?", „Wie hoch …?") stehen die Beträge aus den Beschlüssen in der Antwort. Die Erkennung kostet keinen zusätzlichen Wartezeit-Schritt — sie steckt im selben Aufruf, der die Frage in Suchbegriffe übersetzt. (#361)
Verbessert
- •LLM-Kosten sind jetzt echte Zahlen statt Schätzungen. Jeder KI-Aufruf holt die tatsächlichen Kosten vom Anbieter zurück (inklusive der datenschutzkonformen Anbieter-Wahl); die Admin-Statistik rechnet damit, und der Qualitäts-Messlauf der KI-Suche weist neben Trefferquote und Antwortzeit nun auch die Kosten pro Frage in Cent aus — Modellentscheidungen fallen damit immer über alle drei Größen: Qualität, Tempo, Preis. Für alte Einträge ohne Kostenwert bleibt die Preisliste als Schätz-Fallback. (#364)
- •Die KI-Antwort kommt jetzt in 1–2 Sekunden statt in 20. Nach der Suchbegriffs-Übersetzung war die Antwort-Formulierung der letzte große Zeitfresser: Das bisherige Modell brauchte dafür über die datenschutzkonformen Anbieter-Routen 3–32 Sekunden. Der Modellvergleich gegen das Gold-Set zeigt ein schnelleres Modell mit gleicher oder besserer Zitier-Qualität — Antworten kommen jetzt typisch nach gut einer Sekunde. Die vorgeschlagenen Folgefragen bleiben dabei auf Dinge beschränkt, die in den gefundenen Beschlüssen wirklich vorkommen. (#363)
- •Die KI-Suche „Frag den Rat" findet mehr und antwortet schneller. Die Suche liest jetzt auch die Vorlagen selbst (Sachverhalt und Begründung als eigener semantischer Index) und die Änderungsanträge der Fraktionen — bisher sah sie im Kern nur Titel und Einzeiler der Beschlüsse, und die Relevanz-Sortierung bewertete Volltext-Treffer blind. Fragen wie „Plant die Stadt einen Pumptrack?", deren Antwort nur im Sachverhalt einer Vorlage steht, gehen jetzt auf. Bei strittigen Abstimmungen kennt die Antwort den Original-Abstimmungssatz aus dem Protokoll („Wer stimmte dagegen?"). Der größte Zeitfresser war die Übersetzung der Frage in Suchbegriffe — sie läuft auf einem schnelleren Modell und hängende Anbieter brechen nach 8 Sekunden ab statt die Suche zu blockieren; wiederholte Fragen (z. B. die vorgeschlagenen Folgefragen) überspringen den Schritt ganz. Sehr lange Rats-Niederschriften wurden zudem bisher bei der Auswertung stillschweigend abgeschnitten — sie werden jetzt vollständig in Abschnitten ausgelesen. Für die Qualitätssicherung misst der Eval-Harness jetzt auch die Antwortzeit jedes Suchschritts, die Gold-Fälle sind datenbank-unabhängig formuliert und ein Ops-Workflow vergleicht alten und neuen Suchweg direkt auf dem Server. (#360)
Behoben
- •Themen-Benachrichtigungen liefen für alle ins Leere, sobald ein einziges Konto ein „vergiftetes" Thema angelegt hatte. Der Abgleich der Tagesordnungen mit den eigenen Themen läuft über eine KI; der Themenname fließt in die Anfrage ein. Ein als Anweisung getarnter Name („Vergesse alles …") ließ den Sicherheitsfilter des KI-Anbieters die Anfrage ablehnen — und brach damit den gesamten nächtlichen Lauf ab, auch für alle anderen. Jetzt wird ein solches Konto übersprungen und der Rest normal weiterverarbeitet; Themen-Texte sind gegenüber der KI ausdrücklich als Daten markiert. Beim Ausschuss-Watcher (Tagesordnungs-Zusammenfassungen) war dieselbe Lücke offen: Scheitert die Zusammenfassung einer einzelnen Sitzung, geht die Meldung jetzt ohne Zusammenfassung raus, statt den ganzen Lauf abzubrechen. (#359)
v1.6.0
2026-08-06Hinzugefügt
- •Benachrichtigungen lassen sich ganz abschalten. Bisher musste einer der beiden Wege — E-Mail oder Push — an bleiben; die Einstellung verweigerte „beides aus" ausdrücklich. Wer nichts mehr hören wollte, hätte die sechs Anlass-Schalter einzeln umlegen müssen, und niemand fand sie. Jetzt darf man beide Schalter ausmachen: Ratslotse schweigt dann vollständig — auch die Erinnerung an eine unfertige Einrichtung. Was noch in der Warteschlange lag, wird dabei verworfen statt später nachgeliefert, und die Einstellungen sagen sichtbar, dass sie gerade nichts bewirken. Anschalten geht jederzeit; wer aus dem Aus-Zustand heraus Push erlaubt, bekommt Push — nicht zusätzlich wieder E-Mails.
- •Die Lotsen-Familie lebt. Auf der Startseite ist aus der gezeichneten Familie eine gerechnete Szene geworden: Lotti und die drei Küken folgen dem Mauszeiger, blinzeln, atmen, hüpfen und winken, während Ratsdokumente durchs Bild treiben. Jede Bewegung bleibt klein — der Körper dreht sich höchstens 25 Grad, das Hüpfen misst zwei Zentimeter. Das Maskottchen soll wärmen, nicht die Bühne übernehmen. Die Szene hält sich zurück, wo sie stört: Sie rechnet nicht, sobald sie weggescrollt oder der Tab im Hintergrund ist, respektiert „Bewegung reduzieren", deckelt sich auf 36 Bilder pro Sekunde und wird auf schmalen Fenstern gar nicht erst geladen. Wo sie ausbleibt, steht genau das, was vorher dort stand — dieselbe Familie als Zeichnung. Die Startseite wird dadurch nicht langsamer: Sie lädt weiter in derselben Größe, die 3D-Technik kommt erst danach und nur, wenn sie gebraucht wird.
Geändert
- •Die Benachrichtigungs-Mails sehen aus wie Ratslotse. Bisher stand oben nur „Ratslotse" als blauer Schriftzug — jetzt trägt die Mail die Bildmarke, klarere Abstände und einen richtigen Knopf. Die betroffenen Tagesordnungspunkte stehen als Liste statt als eine mit Semikolons verkettete Textwand, in der man den eigenen Punkt nicht wiederfand. (#352)
- •Der Hauptlink führt jetzt nach Ratslotse, direkt auf die Sitzung mit aufgeklappter Tagesordnung. Das Ratsinformationssystem bleibt als kleiner Nebenlink erreichbar — es ist die Quelle, aber nicht der Ort zum Weiterlesen. (#352)
- •Geteilte Links lassen sich jetzt lesen, ohne sich anzumelden. Wer einen Beschluss weiterreichte, schickte die Empfängerin bisher zuerst ins Registrierungsformular — bevor sie überhaupt gesehen hatte, worum es geht. Das schreckt genau die Leute ab, die man gewinnen will. Beschluss, Thema und Person — die drei Seiten mit Teilen-Knopf — öffnen sich jetzt für alle, mit einer freundlichen Einladung am Ende der Seite statt einer Hürde davor. Wer sich von dort aus anmeldet oder registriert, landet wieder bei dem Beschluss, wegen dem er gekommen ist. Alles Persönliche bleibt, wo es war: Stöbern, Suche, eigene Themen, Benachrichtigungen und der Verfolgen-Knopf verlangen weiterhin ein Konto.
Behoben
- •Das Antippen einer Benachrichtigung führt jetzt wirklich zur Tagesordnung. Wer „Dein Thema kommt auf den Tisch" oder „Tagesordnung ist da" antippte, landete auf der Startseite statt beim Vorgang. Die Meldung trug die Adresse des amtlichen Ratsinformationssystems als Ziel — und damit eine, die aus der App herausführt statt in sie hinein; die App tat daraufhin schlicht nichts. Beide Meldungen zeigen jetzt auf die Sitzung in der App. Der Link zum Ratsinfo steht weiterhin im Text der Nachricht.
- •Und sie führt bis zur gemeldeten Zeile. Bisher öffnete sich die Sitzung am Kopf; der Punkt, um den es ging, stand weit darunter und musste selbst gesucht werden. Die Meldung nennt jetzt ihre Tagesordnungspunkte mit, und die App scrollt zu genau dieser Zeile. Auch das Aufklappen der Sitzung selbst sprang bisher nicht immer mit — beim Antippen einer Benachrichtigung wacht die App gerade erst auf, und der Sprung hing an einer Animation, die in diesem Moment ersatzlos ausfällt. Er wird jetzt nachgeprüft und notfalls hart nachgeholt.
- •Push blieb nach einem Abmelden und erneuten Anmelden stumm. Wer sich abmeldete und ohne Neustart der App wieder anmeldete, hatte danach kein angemeldetes Gerät mehr — Benachrichtigungen kamen bis zum nächsten vollständigen App-Start nicht an.
- •Sammel-Nachrichten hatten tote Links. Kommen an einem Tag mehr als zwei Meldungen zusammen, werden sie gebündelt — in dieser E-Mail führte kein Eintrag irgendwohin.
- •Die Meldung über neue Beschlüsse zu einem Thema stand außerhalb aller Regeln. Sie ging als einzige direkt raus statt über die Warteschlange und kam deshalb auch dann an, wenn „Ergebnisse zu meinen Themen" abgeschaltet war; die zwei-am-Tag-Grenze und die Nachtruhe galten für sie ebenfalls nicht.
- •Die Meldung über neue Beschlüsse zu einem Thema enthielt keinen Link — nur den Hinweis, man finde die Treffer unter „Meine Themen". Jetzt ist der führende Beschluss direkt anklickbar. (#352)
- •Ein Thema mit Zeilenumbruch im Namen konnte die Betreffzeile zerlegen; lange Namen werden sauber gekürzt statt hart abgeschnitten. (#352)
- •Benachrichtigungen gehen nicht mehr verloren, wenn der Versand klemmt. Fiel der Mailversand aus, galt die Meldung trotzdem als zugestellt — sie war damit für immer weg, und zwar genau die, wegen der man die App hat („dein Thema steht auf der Tagesordnung"). Jetzt bleibt sie liegen und wird beim nächsten Lauf erneut versucht. Außerdem konnte ein Fehler bei einem Konto allen dahinter die Post des Tages kosten; jedes Konto steht jetzt für sich.
- •Beim Löschen eines Kontos bleibt nichts mehr zurück. In der zweiten Datenbank stand weiterhin, welche Sitzungen diesem Konto gemeldet worden waren.
- •Die Vorschaukarte geteilter Links bleibt lesbar. Amtliche Beschlusstitel werden über 250 Zeichen lang und sprengten die Karte in Messengern; sie werden jetzt gekürzt — das Ergebnis („angenommen") bleibt dabei immer stehen. Fehlt der Beschlusstext, endete die Beschreibung mitten im Nichts.
- •„1 TOPs", „1 Fragen", „1 Beschlüsse" — Einzahl wird jetzt als Einzahl geschrieben, auf dem Dashboard, in der Sitzungsleiste, bei Themen und Quiz.
- •Auf der „nicht gefunden"-Seite passte der Text nicht zum Gesuchten. Bei einem Thema stand dort „Vielleicht wurde er zusammengeführt"; Gästen bot sie außerdem eine Suche an, die hinter der Anmeldung endete.
- •Nach dem Anmelden geht es dorthin zurück, wo man hinwollte — nicht mehr stumpf aufs Dashboard.
- •Unsinnig große Zahlen in der Adresse (
…/decision/99999999999999999999) beantwortet der Server jetzt mit „nicht gefunden" statt mit einem Fehler.
v1.5.0
2026-07-26Hinzugefügt
- •Zwei neue Anlässe, beide freiwillig. Erinnerung am Vorabend meldet sich um 18 Uhr, wenn morgen eine Sitzung ansteht, die dich betrifft — für alle, die zuhören gehen oder vorher noch etwas an ihre Fraktion schreiben wollen. Der Wochenüberblick fasst sonntags um 18 Uhr die Beschlüsse der Woche zu deinen Themen in einer Nachricht zusammen; wer ihn einschaltet, kann die einzelnen Meldungen guten Gewissens abschalten. Beide sind ab Werk aus, und in einer Woche ohne Ratsbeschlüsse — Sommerpause zum Beispiel — bleibt es still.
- •Auch verfolgte Vorgänge halten sich an die Grenzen. Die Meldung „neue Station" lief bisher an der Tagesgrenze und der Nachtruhe vorbei und ließ sich nicht abschalten. Jetzt beides.
- •Du erfährst jetzt auch, wie es ausgegangen ist. Bisher meldete sich die App *vor* der Debatte und schwieg beim Beschluss — der Moment, auf den alles zulief, kam nie an. Neu: „Es ist entschieden" für die Tagesordnungspunkte, zu denen du vorher schon etwas gehört hast, mit Ergebnis und Abstimmungsverhältnis. Weil Beschlüsse erst mit dem Sitzungsprotokoll feststehen und das oft Wochen dauert, nennt die Meldung das Sitzungsdatum („Im Verkehrsausschuss am 8. Juni angenommen") statt Frische zu behaupten.
- •Du bestimmst, wovon du hörst. „Mein Konto" zeigt jetzt erst wo (E-Mail, Push) und darunter wofür — sechs Anlässe, jeder einzeln abschaltbar: Tagesordnung in deinen Gremien, deine Themen auf einer Tagesordnung, Ergebnisse, verfolgte Vorgänge, Erinnerung am Vorabend und Wochenüberblick. Die letzten beiden sind ab Werk aus.
Geändert
- •Höchstens zwei Mitteilungen am Tag — und nachts keine. Bisher schickte jeder Anlass sofort los: Wer mehrere Ausschüsse abonniert und Themen pflegt, konnte an einem Morgen beliebig viele Mails bekommen, und ein Beschluss um 22:40 Uhr klingelte um 22:40 Uhr. Jetzt gilt für alle Anlässe zusammen: höchstens zwei Zustellungen pro Tag — was darüber hinausgeht, kommt gebündelt in einer Nachricht statt einzeln — und zwischen 21 und 7 Uhr nichts. Ratssitzungen enden regelmäßig nach 22 Uhr; das Ergebnis wartet bis zum Morgen. Verloren geht dabei nichts.
- •Die Meldung zu einem eigenen Thema ist jetzt ein Satz. Statt vier Emoji-Zeilen („🏛️ Stadtratssitzung – Ihr Thema wird diskutiert", „📅", „📍") steht dort, worum es geht: „TOP 4.1: Radweg Nadorster Straße — Verkehrsausschuss am 18. August, 17:00 Uhr."
- •Keine zwei Nachrichten zur selben Sitzung mehr. Wer für eine Sitzung schon erfahren hat, *welcher* Tagesordnungspunkt sein Thema betrifft, bekommt nicht zusätzlich die allgemeine Meldung, dass das Gremium tagt.
- •Änderungen an einer Tagesordnung melden sich nur noch kurz vorher. Bisher ging jede Änderung raus, auch drei Wochen vor der Sitzung. Jetzt nur noch innerhalb der letzten 48 Stunden — davor ist es Verwaltung, keine Nachricht.
- •Gesperrte und unbestätigte Konten bekommen keine Post mehr.
Behoben
- •Der Zähler an „Meine Themen" wurde man nicht mehr los. Wer ein Thema löschte, behielt dessen Treffer als ungelesen — die orange Zahl in der Navigation zählte sie weiter, obwohl das Thema in keiner Liste mehr stand. Damit gab es keine Stelle mehr, an der man sie hätte ansehen können, und die Zahl blieb für immer stehen. Beim Löschen eines Themas verschwinden jetzt auch seine Treffer, und der Zähler ignoriert Reste gelöschter Themen grundsätzlich. Bestehende Altlasten sind aufgeräumt. (#340)
- •Rats-Gruppen werden nicht mehr als falsche Partei ausgewiesen. Auf der Beschluss-Seite stand bei einstimmigen Beschlüssen, welche Fraktionen anwesend waren — dort wurde „FDP/Volt" zu FDP und „Gruppe DIE LINKE./Piratenpartei" zu Die Linke. Volt und die Piraten fielen jeweils weg, und Mitglieder standen unter einer Partei, der sie nie angehörten. Jetzt steht dort der Gruppenname.
v1.4.0
2026-07-25Hinzugefügt
- •Der ganze Sitzungsbestand ist erreichbar — mit Seiten und Jahreszahlen. Die Liste endete still bei 100 Einträgen, obwohl das Archiv bis Januar 2018 zurückreicht: 855 Sitzungen, von denen man 755 nie zu sehen bekam. Jetzt steht über der Liste die echte Gesamtzahl samt Seitenangabe, und unten blättert man durch bis 2018. Weil die Datumskachel nur „JUN 29" zeigt, trennt ab sofort eine Jahreszahl die Gruppen — beim Scrollen ist damit klar, ob der Juni von diesem Jahr ist oder von 2021. Ein Seitenwechsel führt zurück an den Listenanfang, statt einen mitten in der neuen Seite stehen zu lassen. (#333)
- •Einen Vorgang verfolgen. Themen und Ausschuss-Abos sind breite Netze — wer *eine* Vorlage auf ihrem Weg durch die Gremien begleiten will (die Schule im eigenen Viertel, das Stadion), musste bisher selbst regelmäßig nachsehen. Auf der Beschluss-Seite steht jetzt unter „Weg der Vorlage" ein „Diesen Vorgang verfolgen". Danach gibt es eine Meldung, sobald eine neue Beratungsstation dazukommt oder ein Ergebnis nachgetragen wird — über den gewohnten Weg (E-Mail und/oder Mitteilung). Alles Verfolgte steht unter *Meine Themen* mit dem letzten und dem nächsten Halt, dort lässt es sich auch wieder abbestellen. Was beim Abonnieren schon dastand, gilt nicht als Neuigkeit. (#332)
- •Sitzung in den eigenen Kalender. Jede Sitzung hat einen Kalender-Knopf, der einen Termin (
.ics) mit Uhrzeit, Ort, Tagesordnung und Ratsinfo-Link erzeugt — im Browser als Download, in der App über das Teilen-Blatt. Besonders bei erst terminierten Sitzungen, deren Tagesordnung noch aussteht. (#332) - •KI-Antworten teilen und drucken. Unter einer fertigen Antwort stehen *Teilen* und *Drucken*; der geteilte Link nimmt die Frage mit, die Antwort entsteht beim Empfänger aus dessen Datenstand neu. Die Beschluss-Seite hat denselben Druck-Knopf — das Druck-Layout gab es längst, es fehlte der Auslöser. (#332)
- •Suchverlauf im großen Suchfeld. Beim Antippen des leeren Feldes stehen die letzten fünf Suchen und Vorschläge aus dem, was gerade im Rat läuft — bisher hatte das nur die Befehlspalette (⌘K). (#332)
- •Erst begrüßen, dann registrieren. Nach „Los geht's" geht es direkt zum Konto-Erstellen statt zum Anmelden — wer die App zum ersten Mal öffnet, hat in aller Regel noch kein Konto. Der Weg zurück steht als „Schon registriert? Anmelden" darunter.
- •Erst begrüßen, dann anmelden. Der Willkommens-Auftakt läuft jetzt vor dem Login: Man sieht zuerst, worum es geht, und legt erst nach „Los geht's" ein Konto an. Der erreichte Schritt wird zusätzlich am Konto gespeichert, sodass eine angefangene Einrichtung eine Neuinstallation übersteht und auf jedem Gerät weitergeht.
- •Eine Erinnerung an die Einrichtung. Wer die Einrichtung anfängt und liegen lässt, bekommt nach zwei Tagen genau eine freundliche Mail mit dem Hinweis, was noch offen ist — kein Newsletter, keine Wiederholung.
- •Name aus der Apple-Anmeldung. „Mit Apple anmelden" fragt jetzt auch nach dem Namen und übernimmt ihn für neue Konten, sodass Lotti von Anfang an persönlich grüßt. Ein selbst gesetzter Name wird nie überschrieben.
- •Geführter Start in der App. Statt drei Karten, die nur erzählen, was Ratslotse kann, richtet die App jetzt beim ersten Start mit dir ein, wovon sie lebt: Gremien abonnieren (jedes mit einem Satz, was dort verhandelt wird), Themen anlegen (Name genügt — die Beschreibung entsteht automatisch) und Mitteilungen erlauben. Jeder Schritt ist überspringbar, und wer mittendrin abbricht, macht beim nächsten Start dort weiter. (#314)
- •Themen beschreiben sich selbst. Bisher musste man beim Anlegen eines Themas zwei Felder ausfüllen — und die Beschreibung entschied unsichtbar darüber, welche Beschlüsse einem später gemeldet werden. Jetzt reicht der Name: Ratslotse sucht die Beschlüsse dazu und formuliert daraus einen passenden Satz. Aus „Fahrradstraßen" wird so „Planung, Einrichtung und Unterhaltung von Fahrradstraßen in Oldenburg, u. a. Haareneschstraße und Katharinenstraße" — mit konkreten Orten statt Allgemeinplätzen, was die Zuordnung künftiger Beschlüsse deutlich treffsicherer macht. Der Text bleibt frei überschreibbar.
- •Hinweis, wenn der Rat mit einem Thema gar nichts zu tun hat. Wer etwas einträgt, wozu es keine Ratsbeschlüsse gibt (Privates, Bundespolitik, Vertipptes), bekommt das jetzt gesagt — samt Begründung aus dem Datenbestand. Anlegen kann man es trotzdem. (#313)
- •Feedback landet jetzt auch im Admin-Bereich. Rückmeldungen aus der App gingen bisher ausschließlich per E-Mail raus — wer sie übersah oder löschte, hatte sie verloren. Sie werden nun zusätzlich gespeichert und im Admin unter „Feedback" aufgelistet: neueste zuerst, mit Art, Absenderin und Zeitpunkt, filterbar auf Unerledigtes. Ein Eintrag lässt sich als erledigt abhaken und bei Bedarf wieder öffnen. Gibt es Offenes, trägt „Admin" in der Navigation eine Zahl — dasselbe Zeichen, das „Meine Themen" schon nutzt. Der Mailversand bleibt unverändert. (#311)
- •Doppelte Themen werden zusammengeführt. Die Themen-Erkennung benannte dieselbe Sache je nach Beschluss unterschiedlich, sodass es den Bäderbetrieb unter vier Namen gab und die Gebäudewirtschaft unter drei — mit auf mehrere Seiten verteilten Beschlüssen und Beträgen. Ein neuer Lauf (
scripts/merge_entity_aliases.py) findet solche Dubletten und führt die vom Sprachmodell bestätigten zusammen; alte Links landen weiterhin beim richtigen Thema. Im Admin-Panel unter „Themen-Dubletten“ lässt sich jede Zusammenführung einzeln nachvollziehen und wieder auflösen. Mehrstufige Zusammenführungen (A→B, wobei B später zu C wurde) landen dabei am richtigen Endthema und werden in der Admin-Liste auch dort einsortiert. (#302, #306) - •„Hängt zusammen mit …" auf jeder Themen-Seite. Unter den Kennzahlen stehen jetzt verwandte Themen zum Weiterklicken — oben die *belegten* (kommen gemeinsam in Beschlüssen vor, mit der Zahl der gemeinsamen Beschlüsse), darunter die *thematisch ähnlichen* aus den Embeddings. Beim Fliegerhorst führt das etwa direkt zu Entlastungsstraße, Alexanderstraße und Hallensichel-Ost. Die Nachbarschaften sind vorberechnet, die Seite wird dadurch nicht langsamer.
- •Verwandte Themen (Datengrundlage). Neue Berechnung
council/related.pymit Backfillscripts/build_entity_relations.pyermittelt je Thema die passenden Nachbarn — getrennt nach *belegt* (kommt gemeinsam in Beschlüssen vor, etwa Fliegerhorst ── Entlastungsstraße) und *ähnlich* (semantischer Nachbar aus den Embeddings, nur zum Auffüllen). Läuft ohne LLM-Aufruf im wöchentlichenweekly_enrichmit; Gremien und Namens-Dubletten werden herausgefiltert. - •Geteilte Links erzählen jetzt selbst, worum es geht. Wer einen Beschluss weiterschickte, verschickte bisher fünfmal dieselbe Kachel: In WhatsApp, Signal oder Mastodon stand unter jedem Link „Ratslotse — Oldenburger Ratsinformationen verständlich". Jetzt steht dort, was drinsteht — Titel und Ergebnis („Radwegeausbau Nadorster Straße — angenommen"), darunter Gremium, Datum und die Kurzfassung. Das gilt für Beschlüsse, Themen, Ratsmitglieder und Sitzungen; nebenbei bekommen auch Browser-Tabs und Lesezeichen sprechende Namen statt viermal „Ratslotse", und Suchmaschinen finden die Seiten überhaupt erst.
Geändert
- •Höchstens ein Hinweis auf „Heute". Sitzungspause, Live-Sitzung, erste Schritte und die Frage nach Mitteilungen konnten sich zu vier Kästen stapeln und den eigentlichen Inhalt unter die Falz schieben. Jetzt steht der dringlichste davon oben, der Rest hinter einer Pille, die sie auf Tippen zeigt. (#332)
- •Ausschuss-Abos lesen sich wie im Einrichtungs-Assistenten: kurze Namen, ein Satz dazu, was das Gremium behandelt, und nach Alltagsbezug sortiert statt in amtlicher Reihenfolge. (#332)
- •Nur noch eine Lupe in der Seitenleiste. Die Befehlspalette sitzt als ⌘-Knopf neben dem Logo; die Lupe gehört jetzt allein der Suche. (#332)
- •„Zahl der Woche" führt weiter — die gezählten Beschlüsse lassen sich direkt ansehen; darunter steht „Zuletzt angesehen". (#332)
- •Der Sitzungs-Umschalter heißt „Anstehend" statt „Kommend". (#332)
- •Ein verdientes Abzeichen wird jetzt richtig gefeiert. Bisher blitzte nur eine graue Systemmeldung auf, während Konfetti über den ganzen Bildschirm regnete — man erfuhr nicht, *warum* man das Abzeichen bekommen hat, und wo es jetzt liegt schon gar nicht. An ihre Stelle tritt eine Karte in den Ratslotse-Farben, die unten über den laufenden Bildschirm fährt: goldene Medaille, der Name des Abzeichens, wofür es steht, wie viele von acht man gesammelt hat — dazu „Sammlung ansehen", das direkt zur Abzeichen-Karte im Konto springt. Sie blockiert nichts, geht nach sechs Sekunden von selbst und lässt sich jederzeit wegtippen; mehrere Abzeichen auf einmal kommen nacheinander statt gestapelt. In der Sammlung trägt das frische Abzeichen danach ein „NEU", bis man es einmal angesehen hat. Wer im System reduzierte Bewegung eingestellt hat, bekommt dieselbe Karte ohne Konfetti. (#322)
- •Weiterfragen: kompakter auf dem Telefon (Design 24a). Nach einer Antwort standen die Vorschläge als umbrechende Chip-Reihe — auf schmalen Displays verdrängten sie damit einen guten Teil der Antwort. Jetzt sind es dort zwei Vorschläge in je einer Zeile (gekürzt, mit Pfeil), und „Eigene Frage" steht mit dem Hinweis in derselben Zeile. Das halbiert die Höhe des Blocks. Auf größeren Bildschirmen bleiben es drei Vorschläge mit vollem Text.
- •Der Ladekreis beim App-Start sitzt jetzt mittig auf dem Bildschirm statt ganz oben halb hinter der Dynamic Island.
- •Der Abzeichen-Toast hält sich während der Einrichtung zurück und meldet sich erst danach — vorher gratulierte er schon über dem Willkommens-Gruß.
- •Beschluss-Seite aufgeräumt. Die Seite führte mit einer Wand Amtssprache und streute die Kennzahlen über sechs Karten in der Randspalte. Jetzt steht „Lotti erklärt's einfach" ganz oben — der amtliche Wortlaut folgt darunter und lässt sich zuklappen (verbindlich bleibt er, er ist nur nicht mehr das Erste, was einen erschlägt). Rechts bündelt eine Karte „Auf einen Blick" Betrag, Abstimmung, Antragsteller und Wichtigkeit; die Anlagen sind zu den Dokumenten gewandert, wo die übrigen Datei-Links stehen — aus sechs Karten werden drei. Anträge, Endergebnis und das Warum stehen unter einer gemeinsamen Überschrift „Verlauf & Begründung", und bei den ähnlichen Beschlüssen sind zunächst die zwei relevantesten zu sehen. Reine Anordnung — es fehlt nichts, alles ist nur dort, wo man es sucht. (#305)
- •Beschluss-Seite: klarer, was aus dem Protokoll und was aus der Vorlage stammt. „Beschlusstext" und „Aus der Vorlage · Beschlussvorlage" standen unkommentiert untereinander — die zweite Überschrift las sich, als stünde dort der Beschlussvorschlag, dabei steht dort die Vorgeschichte. Jetzt sagt eine Zeile unter jeder Überschrift, was man liest: „Was beschlossen wurde — Wortlaut aus dem Sitzungsprotokoll" bzw. die Überschrift „Warum es dazu kam" mit dem Zusatz „Sachverhalt und Begründung aus der Beschlussvorlage der Verwaltung". Die amtlichen Begriffe bleiben also sichtbar, sind aber nicht mehr der einzige Anhaltspunkt. Nebenbei entfällt in der Vorlagenart die RIS-Katalog-Klammer („Berichtsvorlage (bis 31.12.2022)" → „Berichtsvorlage"). (#304)
- •KI-Frage: kürzere Trefferliste. Unter der Antwort standen bisher alle gefundenen Beschlüsse — bis zu 40 Karten, obwohl davon meist nur eine Handvoll in der Antwort zitiert wird. Jetzt zeigt Ratslotse standardmäßig die acht relevantesten plus alle zitierten (die bleiben immer sichtbar, egal wie weit hinten sie stehen); der Rest kommt per „Alle N anzeigen". Die Reihenfolge bleibt unverändert, und die Fußnoten in der Antwort springen weiterhin zuverlässig zur richtigen Quelle — auch wenn sie eingeklappt wäre. (#301)
- •Der App-Start zeigt die App, nicht ein Warterad. Solange die Anmeldung geprüft wurde, ersetzte ein Kreisel auf leerer Fläche die ganze Oberfläche — jeder Start begann mit etwas, das nach hängender Seite aussah. Jetzt stehen Logo und Navigation sofort, nur der Inhalt füllt sich nach.
- •Analyse, Ziele, Mitglieder und Themen laden wie der Rest der App. Statt eines Kreisels auf leerer Fläche steht dort jetzt die Form des Inhalts (Diagramm bzw. Tabelle) — man sieht sofort, was gleich kommt und wie viel, und nichts springt beim Eintreffen. Beim Seitenwechsel gibt es dieselbe Rückmeldung sofort. Für echte Momente — Karte, Speichern — bleibt der Kreisel.
- •Der Installieren-Dialog zeigt jetzt, worum es geht. Beim Hinzufügen zum Startbildschirm gab es bislang nur Adresse und Symbol; jetzt liegen drei echte Bildschirmfotos bei (Telefon und Desktop). Außerdem passt die Farbe der Statusleiste jetzt exakt zur Kopfleiste — vorher lag darüber ein leicht hellerer Streifen.
Entfernt
- •Rund 700 Zeilen toter Code raus — nach Wochen Umbau hatte sich einiges angesammelt, das nichts mehr aufruft: die letzten Überreste des ausgegliederten Zeitungs-Scrapers (Artikel-Themen-Zuordnung, Ausgaben, Volltextsuche, Presse-Verknüpfungen zu Beschlüssen), drei nicht mehr eingebundene Oberflächen-Bausteine, zwei Rate-Limits ohne Endpunkt und drei API-Routen, die kein Client abruft. Für Nutzer:innen ändert sich dadurch nichts; die Tabellen zum Löschen alter Konten-Daten bleiben absichtlich erhalten. „In der Presse" auf der Beschluss-Seite war schon vorher auf die reine NWZonline-Suche umgestellt — der ungenutzte Vorschlags-Kanal daneben ist jetzt auch im Code weg.
Behoben
- •Tagesordnungspunkte führen jetzt zum Beschluss. In einer aufgeklappten Sitzung war jeder Punkt toter Text; auch der Ergebnis-Punkt daneben blieb unsichtbar, weil die Tagesordnung ihre Nummern mit Präfix führt („Ö 6.1") und das Protokoll ohne („6.1") — der Abgleich traf nie. Beide greifen jetzt. (#332)
- •„Zurück" führt nicht mehr aus der App. Wer einen Beschluss über eine Mitteilung oder einen geteilten Link öffnete, landete beim Zurück-Tippen im Nichts. Jetzt geht es zur zugehörigen Sitzung. Zusätzlich lässt sich mit *Vorheriger/Nächster TOP* direkt durch die Beschlüsse einer Sitzung blättern. (#332)
- •„Alle ansehen" bei einem Thema öffnet die richtige Suche — mit Filtern, Sortierung und teilbarer Adresse, statt eines Dialogs ohne all das. (#332)
- •Treffer werden vollständig hervorgehoben. Bei mehreren Suchwörtern („radwege innenstadt") war vorher nichts markiert, weil nur die Eingabe als Ganzes gesucht wurde. Jetzt wird jedes Wort an jeder Fundstelle hervorgehoben. (#332)
- •Laufende KI-Antwort abbrechen. Ein Stopp hält den bereits geschriebenen Text mit dem Vermerk „abgebrochen" und gibt die Eingabe sofort frei. (#332)
- •Sitzungen, Stadtkarte und Analyse sind auf dem Telefon wieder direkt erreichbar — über eine Ansichtsleiste über der Seite statt nur über das Menü. (#332)
- •Die Erinnerung an eine offene Einrichtung ging nie raus. Der zuständige tägliche Lauf stürzte bei jedem Start sofort ab (ein fehlender Datenbank-Pfad), noch bevor er überhaupt nach offenen Einrichtungen sah — und weil er zusätzlich die Server-Konfiguration nicht einlas, konnte nicht einmal die Fehlermeldung darüber verschickt werden. Beides behoben und mit Tests abgesichert.
- •Fehlgeschlagene Apple-Anmeldungen bleiben nicht mehr stumm. Schlug die Anmeldung fehl, passierte sichtbar gar nichts — der Code behandelte jeden Fehler wie einen Abbruch durch die Nutzer:in. Jetzt wird nur ein echter Abbruch stillschweigend hingenommen; alles andere sagt Bescheid und landet im Fehlerprotokoll. (Der Auslöser diesmal: Die Seite war nicht erreichbar.)
- •Ins Beschreibungsfeld tippen zoomt nicht mehr hinein. Beim Anpassen eines Themas sprang iOS beim Antippen in das Feld hinein, weil die Schrift kleiner als 16 Pixel war.
- •„Mit Apple anmelden" im Browser geht wieder. Der Browser schickt eine andere Kennung als die App (Services ID statt Bundle-ID). Der Server kannte diese Kennung nur, wenn sie eigens als Umgebungsvariable hinterlegt war — fehlte sie, wurde jede Anmeldung über den Browser abgewiesen, während sie in der App weiter funktionierte. Beide Kennungen sind jetzt fest hinterlegt. Abgewiesene Anmeldungen nennen im Server-Log außerdem den Grund, sodass eine Fehlkonfiguration nicht mehr wie ein gefälschtes Token aussieht.
- •„Thema anpassen" (Einrichtung): mehr Platz, ruhigeres Laden. Das Blatt von unten war zu niedrig — für die vollständige Beschreibung musste man fast immer scrollen, und beim Scrollen bewegte sich die Seite dahinter mit. Jetzt reicht es weiter nach oben, das Beschreibungsfeld zeigt sechs statt drei Zeilen, „Abbrechen"/„Speichern" bleiben immer sichtbar, und die Seite darunter hält still. Statt Spinner und „prüft…" zeigt die Treffer-Zeile beim Nachschauen angedeutete Platzhalterzeilen, sodass beim Eintreffen des Ergebnisses nichts mehr springt.
- •Mitteilungen wurden nach dem Einrichten nicht wirklich zugestellt. Schritt 3 holte zwar die Erlaubnis auf dem Gerät ein, stellte den Zustellweg des Kontos aber nicht um — es blieb auf „nur E-Mail". Zu erkennen war das nur daran, dass „Heute" danach weiter um Erlaubnis bat: zu Recht.
- •Die Karte „Mitteilungen aktivieren" verschwand nicht mehr, wenn sie einmal sichtbar war — selbst nachdem Push längst an war.
- •Der Tour-Hinweis zur Beschluss-Suche empfahl die Taste „/", die es auf dem Handy nicht gibt.
- •Themen werden jetzt wirklich geprüft. Bisher konnte man beliebige Sätze — auch getarnte Anweisungen an die KI — als Thema anlegen: Der Hinweis erschien erst, nachdem gespeichert war. Jetzt gibt es drei Fälle statt zwei. Ein Thema mit Beschlüssen wird wie gehabt beschrieben. Eine Sache, die es in Oldenburg gibt, über die der Rat aber noch nicht entschieden hat — etwa eine bestimmte Grundschule —, lässt sich anlegen, mit dem ehrlichen Hinweis „darüber wurde noch nicht entschieden, Lotti meldet sich, sobald es so weit ist". Und was gar kein Ratsthema ist, wird mit Begründung abgelehnt statt still gespeichert.
- •Keine erfundenen Treffer mehr. Unter „Grundschule Krusenbusch" standen „12 Beschlüsse passen dazu" — gemeint waren Beschlüsse über *andere* Schulen. Es wird nur noch gezählt, was wirklich zum Thema gehört.
- •Beim ersten Start klappte auf dem iPhone die Tastatur über dem Willkommens-Gruß auf.
- •Lotti ragte auf der Registrieren-Seite in die Dynamic Island.
- •Der „Bitte bestätige deine E-Mail"-Hinweis erschien mitsamt Navigation und Suche, obwohl beides noch ins Leere führt — er steht jetzt für sich.
- •Nach dem Klick auf den Bestätigungslink blieb die Seite stehen; wer die App wechselte, fand sie später ohne erkennbaren Grund wieder vor. Sie geht jetzt von selbst weiter.
- •Mehrere Abzeichen-Meldungen stapelten sich beim ersten Login übereinander — jetzt fasst eine Meldung sie zusammen.
- •Die „Erste Schritte"-Karte sagte gleich beim ersten Öffnen „Weitermachen" und sprang stumm auf die nächste Seite. Sie sagt jetzt „Tour starten" und startet die geführte Tour, in der Lotti erklärt.
- •Beim ersten Start klappte auf dem iPhone sofort die Tastatur über dem Willkommens-Gruß auf — das Eingabefeld der darunterliegenden Anmelde-Seite hatte sich den Fokus geholt.
- •Ungültige Eingaben in Formularen zeigten die rohe Fehlermeldung des Servers („[{\"type\":\"value_error\",\"loc\":…"). Jetzt steht dort ein Satz, z. B. „Diese E-Mail-Adresse ist ungültig."
- •Themen-Vorschläge sind nicht mehr zu breit. Unter den vorgeschlagenen Themen konnten Gattungsbegriffe wie „Klima" oder „Bericht" auftauchen — als Abo hätten sie halb Oldenburg eingesammelt. Vorschläge durchlaufen jetzt dieselbe Vagheits-Prüfung wie selbst angelegte Themen; was sie nicht besteht, wird gar nicht erst angeboten. (#313)
- •Vagheits-Prüfung schlug Zeitungs-Formulierungen vor. Ihre Verbesserungs- Vorschläge begannen mit „Artikel über …" — ein Überbleibsel aus der Zeit, als Ratslotse Zeitungsartikel filterte. Sie beschreiben jetzt die Sache selbst, passend dazu, dass Themen gegen Ratsbeschlüsse geprüft werden. (#313)
- •Personen-Seite: Ämter sind auf dem Handy wieder lesbar. Die Zeitleiste der Ämter stand zweispaltig — Name links, Balken rechts. Auf schmalen Bildschirmen fraß die Namensspalte den Platz: Gremien standen abgeschnitten da („Wirtschaft & Dig…"), und junge Ämter schrumpften zu einem Punkt. Jetzt steht der Name in voller Breite über dem Balken, das Jahr („seit 2011") rechts daneben, und der Balken nutzt die ganze Zeile auf einer gemeinsamen Zeitskala — so bleiben Amtsdauern vergleichbar. Dasselbe gilt für „Präsenz je Gremium". Auf großen Bildschirmen bleibt die zweispaltige Zeitleiste. (#312)
- •Feedback-Dialog reißt kein Menü mehr auf. Beim Öffnen von „Feedback geben" klappte auf dem iPhone sofort die Auswahlliste für die Art auf — noch bevor man den Dialog lesen konnte. Ursache war der automatische Fokus auf das erste Eingabefeld, was iOS als Aufforderung versteht, das Rad-Menü zu zeigen. Der Dialog fängt den Fokus jetzt selbst ab. (#310)
- •KI-Antworten nennen nicht mehr Datum und Tragweite mitten im Satz. Die Antworten lasen sich stellenweise wie ein Aktenvermerk — „… beschlossen (2026-04-20, Tragweite: hoch)". Beides steht ohnehin bei den Quellen unter der Antwort. Die Tragweite bekommt die KI weiterhin mitgeteilt, aber nur noch zur Gewichtung, nicht zum Zitieren. Fragt jemand ausdrücklich nach dem Zeitpunkt, steht das Datum selbstverständlich weiter in der Antwort. (#309)
- •App: „Frag den Rat" scheiterte weiterhin mit „Load failed". Der erste Anlauf hatte dem Streaming-Endpoint zwar Freigabe-Header für die App spendiert, die Liste war aber unvollständig: Sie nannte nur
Content-TypeundAuthorization, während die App zusätzlich eine Client-Kennung mitschickt. Der Browser bricht solche Anfragen ab, bevor sie den Server erreichen — deshalb war im Log auch nichts zu sehen. Die Freigabe spiegelt jetzt die tatsächlich angefragten Header, statt eine Liste zu pflegen, die beim nächsten Zusatz wieder auseinanderläuft. Rein serverseitig — die bestehende App funktioniert nach dem Update ohne Neuinstallation. (#308) - •KI-Frage: Quellenangaben werden wieder zuverlässig erkannt. Hängte die KI Zusatzangaben in eine Quellenklammer („[8525, 20.04.2026, Tragweite: hoch]"), erkannte Ratslotse das nicht als Quellenangabe: Die Fußnote fehlte, und die rohe Klammer stand mitten im Antworttext. Jetzt zählt in solchen Fällen die erste Zahl als Quelle, der Rest verschwindet aus der Anzeige — und die KI wird ausdrücklich angewiesen, nur die Nummer in die Klammer zu setzen. (#301)
- •KI-Frage: Weiterfragen sind sofort sichtbar. Die Anschlussfragen standen hinter der Liste der gefundenen Beschlüsse — bei einer breiten Frage sind das schnell Dutzende Karten, die man erst durchscrollen musste, bevor die Vorschläge überhaupt auftauchten. Jetzt stehen sie direkt unter der Antwort, die Trefferliste darunter. (#298)
- •Die Lotti-Tour hakt „Erste Schritte" jetzt wirklich ab. Wer die Tour komplett durchlief, stand danach trotzdem bei 1/5, und der Knopf lud weiter zum „Tour starten" ein. Grund: Die Tour führte Analyse und Stadtkarte gar nicht vor, und was sie zeigte, wurde nur zufällig abgehakt — nämlich dann, wenn eine Tour-Station zufällig genau der Kurs-Seite entsprach. Jetzt zeigt die Tour auch Analyse und Stadtkarte, und jede Station meldet den Bereich ausdrücklich als entdeckt. „Erstes Thema anlegen" ist als Punkt entfallen — er verlangte ein echtes Thema und war damit der einzige, den die Tour nicht abhaken konnte. Nach dem Durchlauf steht die Leiste damit auf 4/4 und feiert.
- •Themen bearbeiten: überall der gute Editor. Für dieselbe Aufgabe gab es zwei verschiedene Masken — im Einrichtungs-Assistenten ein Blatt mit Beschriftungen, Live-Treffervorschau („Passt gerade auf") und „Neu generieren", auf der Themen-Seite ein karger Dialog mit zwei unbeschrifteten Feldern. Jetzt zeigen beide Wege dasselbe Blatt; auf der Themen-Seite lässt sich darin zusätzlich der Name ändern. Auf großen Bildschirmen erscheint es als mittiger Dialog statt in voller Breite.
- •Stadtkarte: Quellenangabe wieder lesbar. Die Legende lag als Kästchen unten links auf der Karte — auf dem Telefon brach sie auf zwei Zeilen um und legte sich damit über den OpenStreetMap-Nachweis; beides war unleserlich. Sie steht jetzt unter der Karte.
- •Quiz: Kategorien nicht mehr hinter der Start-Leiste. Ganz nach unten gescrollt verdeckte die schwebende „Quiz starten"-Leiste die Kategorie-Auswahl dauerhaft — man konnte sie nicht antippen.
- •Kein Hineinzoomen mehr in der Admin-Suche und im Quiz-Editor. Die Felder standen unter 16 px, worauf iOS beim Antippen in die Seite zoomt.
- •Abgeschnittene Platzhalter. „Frag den Stadtrat — z." (KI-Frage), „In Tagesordnungen suchen (z. B." (Sitzungen) und drei weitere brachen auf dem Telefon mitten im Wort ab. Jetzt passen sie.
- •Anzeigename ist jetzt auch im Formular freiwillig. Der Server nimmt ihn seit jeher optional, „Mit Apple registrieren" liefert gar keinen — nur das Registrieren-Formular verlangte ihn und ließ sonst niemanden vorbei.
- •„Bitte Seite neu laden" ist weg. Ging eine Abfrage schief, stand da ein roter Satz — die Bitte an dich, unsere Arbeit zu machen. Ein Funkloch in der Bahn reichte, und die Seite blieb kaputt. Jetzt steht dort eine Karte mit ratlosem Lotti und einem „Nochmal versuchen"-Knopf; der Rest der Seite bleibt stehen. Betrifft Themen und alle sechs Admin-Bereiche — die Cron-Übersicht verschwand bei einem Fehler bisher sogar spurlos.
- •Die Trefferzahl wird jetzt vorgelesen. Beim Filtern oder Blättern wechselte die Ergebnisliste für Vorleseprogramme lautlos: Sehende sahen „34 Beschlüsse", alle anderen nichts. Jetzt wird die Änderung angesagt — samt Seitenzahl.
- •Eine abgelaufene Sitzung frisst deinen Text nicht mehr. Wer zwei Minuten an einer KI-Frage oder einer Themen-Beschreibung geschrieben hatte und dabei abgemeldet wurde, fand danach ein leeres Feld. Jetzt wird der Entwurf gesichert, du landest nach dem Anmelden wieder an derselben Stelle, und der Text steht wieder da.
- •Nicht gefunden heißt nicht mehr rausgeworfen. Wer einem alten Link folgte — etwa auf einen inzwischen zusammengeführten Beschluss —, landete auf einer nackten 404-Seite ohne Navigation und ohne Suche; der Browser-Pfeil war der einzige Weg zurück. Jetzt bleibt die App drumherum stehen, die Meldung nennt konkret, was fehlt („Diesen Beschluss finde ich nicht"), und darunter steht ein Suchfeld, das direkt weiterhilft.
- •Tastatur-Fokus im Menü und in den Filtern wieder sichtbar. Das Seiten-Menü und die Filter-Auswahl hatten den Fokusrahmen abgeschaltet, ohne einen eigenen zu setzen — wer mit Tabulator arbeitet, stand auf dem Schließen-Knopf und sah nichts. Jetzt derselbe Ring wie in den Dialogen.
Sicherheit
- •Admin-Rechte nur noch mit Adress-Nachweis. Bisher wurde die Rolle direkt bei der Registrierung aus der eingetippten E-Mail abgeleitet: Wer die in
WEB_ADMIN_EMAILhinterlegte Adresse als Erster registrierte, bekam sofort ein aktives Admin-Konto — ohne je nachzuweisen, dass ihm dieses Postfach gehört. Zusätzlich wurde die erste Registrierung auf einer leeren Nutzertabelle ungefragt zum Admin (auch über „Mit Apple anmelden"). Beides ist weg: Die Registrierung vergibt keine Rolle mehr, Admin entsteht erst, wenn der Bestätigungslink an die konfigurierte Adresse eingelöst wurde und noch kein Admin existiert. Für den Betrieb: Auf einer frischen Installation muss die Admin-Adresse einmal den Bestätigungslink klicken; ohneRESEND_API_KEY(kein Mailversand) übernimmt das neuescripts/grant_admin.py <adresse>— worauf Registrierung und API-Start per Warnung im Log hinweisen. - •Anmeldung verrät nicht mehr, welche Adressen ein Konto haben. Der Passwort-Check lief nur, wenn das Konto existierte, ein unbekannter Login kam darum messbar schneller zurück (~6 ms gegenüber ~58 ms). Jetzt wird in beiden Fällen gleich viel gerechnet; die Antwortzeit gibt nichts mehr preis.
- •Fehlerhafte Suchausdrücke stürzen die Volltextsuche nicht mehr ab. Eine Anfrage wie
hafen -marktist für SQLite-FTS5 ungültig und schlug bisher als unbehandelter Fehler durch; sie zählt jetzt als „nichts gefunden".
v1.3.0
2026-07-23Hinzugefügt
- •KI-Frage: Weiterfragen statt Sackgasse. Unter jeder Antwort stehen jetzt drei Anschlussfragen, die zur gerade gelesenen Antwort passen (z. B. „Wer stimmte gegen den Radverkehrsplan?") — ein Tipp darauf startet sofort die nächste Frage. Daneben führt „Eigene Frage" zurück ins Eingabefeld. Die Vorschläge entstehen ohne zusätzliche KI-Anfrage aus derselben Antwort; wenn das Modell keine liefert, leitet Ratslotse sie aus den gefundenen Beschlüssen ab, sodass jeder Vorschlag garantiert zu etwas führt. (#292)
- •App: Zurückwischen vom Bildschirmrand. In der iOS-App kommst du jetzt wie gewohnt mit einer Wischgeste vom linken Rand eine Seite zurück (und vom rechten wieder vor) — passend zur Vor-/Zurück-Navigation der App. (#286)
- •Eigene Quizfragen: Auf der Quiz-Seite kannst du jetzt eigene Fragen anlegen und üben — mit 2–4 Antworten, optionalem Ort (Stadtteil), Kategorie und Erklärung. Eine Übungsrunde mischt 10 deiner Fragen durch die normale Spiel-Ansicht, nie geübte und schwache zuerst; die Liste zeigt je Frage den Stand („3× geübt, 100 %"). Eigene Fragen sind privat und geben bewusst keine Punkte — sonst könnte man sich Punkte selbst schreiben. (#262)
- •Eigene Schätzfragen: Wählt man beim Anlegen die Kategorie „Schätzfrage", tritt an die Stelle der Antwortoptionen eine Zahl mit Einheit — beim Üben rät man sie dann auf einem Slider, je näher desto besser. Der Rate-Bereich entsteht automatisch aus der Zahl (0 bis ~2×, glatt gerundet), lässt sich aber von Hand anpassen. Bei der Einheit „Jahr" / „Jahre" wird der Bereich stattdessen ein enges Fenster von ±50 Jahren um die Zahl — sonst spannte der Slider bei einer Jahreszahl unbrauchbar von 0 bis ~4000. (#264, #265)
- •Der Gesprächswert arbeitet jetzt überall mit: Die Beschluss-Suche kann nach „Spannendste zuerst" sortieren (kuriose, alltagsnahe Funde nach oben), die Übersicht zeigt Konten ohne aktuelle Themen-Treffer den spannendsten Beschluss der Woche samt Begründung, Themen-Mails führen mit dem folgenreichsten neuen Beschluss statt einer nackten Zählung, und „Ähnliche Beschlüsse" wie das Ratspolitik-Quiz bevorzugen bei Gleichstand die interessanteren Kandidaten. (#255)
- •„Wichtig" versteht jetzt Tragweite: Neben der bisherigen Rechen-Logik (Geldbetrag, Umstrittenheit …) bewertet eine KI jeden Beschluss nach fester Rubrik — wie viele Menschen betroffen sind, wie bindend und wegweisend er ist. Beides fließt zu gleichen Teilen in den Wichtig-Wert; auf der Beschluss-Seite erklärt eine neue Zeile „Warum wichtig: …" den Messbalken in einem Satz. Kuriosität zählt hier ausdrücklich nicht — dafür gibt es das Fundstück. (#254)
- •Persönliche Ansprache: Bei der Registrierung fragt Ratslotse jetzt nach einem Anzeigenamen — die Übersicht begrüßt dich damit („Moin, Tim!") und Benachrichtigungs-E-Mails sprechen dich persönlich an. Bestehende und Apple-Konten tragen den Namen jederzeit auf der Konto-Seite nach (oder lassen es — dann bleibt es beim neutralen „Moin!"). (#251)
- •Lotsen-Abzeichen: Acht kleine Abzeichen belohnen das Erkunden — erste KI-Frage, erstes Thema, 5-Tage-Quiz-Serie, drei Orte auf der Stadtkarte, Analyse, Tagesordnung aufklappen, Push aktivieren und die Lotti-Tour. Verleihung mit Konfetti und Toast, die Sammlung wohnt auf der Konto-Seite („n von 8", mit Fortschritt und „Als Nächstes"-Tipp). Bewusst ohne Ranglisten oder Verlust-Serien: Einmal verdient bleibt verdient, nichts bestraft Abwesenheit. (#249)
- •Fundstück des Tages: Die Übersicht zeigt jetzt jeden Tag einen kuratierten Fund aus dem Ratsarchiv — bevorzugt Jahrestage („Heute vor 6 Jahren …") mit einem erzählenswerten Satz, Ergebnis und Absprung zum Beschluss, teilbar per Knopf. Dahinter steckt eine neue KI-Pipeline: Ein Interessantheits-Score bewertet den ganzen Beschluss-Bestand nach Gesprächswert (Kuriosität, Alltagsnähe — bewusst getrennt vom Wichtigkeits-Score), und ein wöchentlicher Lauf kuratiert daraus die Karten drei Wochen im Voraus. Ohne guten Fund bleibt der Tag einfach ohne Karte. (#248)
- •Live-Hinweis an Sitzungstagen: Tagt gerade ein Gremium (Startzeit erreicht, bis 4 h danach), zeigt die Übersicht eine rote Live-Karte („tagt gerade · seit n Minuten", Ort, TOPs, deine Themen-Treffer) mit Absprung zur Tagesordnung — beim Stadtrat zusätzlich der Link zum O1-Livestream (oldenburg eins überträgt nur Ratssitzungen). Auch die Startseiten-Leiste kennt jetzt den Live-Zustand, und laufende Sitzungen tragen in den Listen einen LIVE-Punkt. Welcher Tagesordnungspunkt gerade dran ist, weiß das Ratsinfo nicht — Ergebnisse folgen wie gehabt mit dem Protokoll. (#247)
- •Feinschliff in Bewegung (M4, letztes Design-Paket): Die orange Fragen-Taste pulsiert dezent, Seitenwechsel gleiten sanft herein, die Zahl der Woche zählt hoch, KI-Quellen erscheinen nacheinander — und in der App lädt Ziehen-zum-Aktualisieren mit einem kleinen Küken die Daten neu. Alles nur Transform/Deckkraft und komplett still, wenn das System „Bewegung reduzieren" wünscht. (#236)
- •Mit Apple anmelden — jetzt auch im Browser: Auf ratslotse.de steht der Apple-Login nun auch auf Login und Registrierung im Web bereit (Popup, keine Passwort-Eingabe). Konten sind dieselben wie in der App — verknüpft über die bestätigte E-Mail-Adresse. (#234)
- •Offline & erster Start (M4): Ohne Netz zeigt Ratslotse eine dezente „Offline"-Pille und in der App die zuletzt geladenen Inhalte (der Daten-Cache übersteht dort jetzt den Neustart, bis zu 24 h). Beim allerersten App-Start begrüßt dich außerdem ein kurzes 3-Seiten-Intro mit Lotti — einmal wischen, nie wieder. (#232)
- •App: neue Icons + Mitteilungs-Hinweis (M4): Das App-Icon kommt jetzt in drei iOS-Varianten (hell, dunkel, getönt — je nachdem, wie der Homescreen eingestellt ist). Neu in der App außerdem ein freundlicher Lotti-Hinweis zu Mitteilungen: erst erklären, dann fragt iOS — wer „Später" wählt, wird eine Woche nicht wieder gefragt. Technisch vorbereitet: die App-Hülle kennt jetzt „Sign in with Apple". (#231)
- •Neue Anmelde-Seiten + Sign in with Apple (M3): Login und Registrierung bekommen ein zweispaltiges Marken-Layout (Claim + Lotti-Familie links, Formular rechts, mobil unverändert kompakt) mit größeren Eingabefeldern. In der iOS-App kannst du dich künftig mit Apple anmelden — bestehende Konten werden über die gleiche E-Mail-Adresse verknüpft, neue sind sofort aktiv; Apple-Konten ohne Passwort löschen ihr Konto per frischer Apple-Bestätigung oder rüsten ein Passwort per E-Mail-Link nach. (#230)
- •„Lotti erklärt's einfach" (M3): Beschluss-Seiten bekommen unter dem amtlichen Beschlusstext eine 2–3-Satz-Erklärung in einfacher Sprache — ohne Verwaltungsdeutsch, mit klarem KI-Hinweis. Erzeugt automatisch für echte Beschlüsse mit substanziellem Beschlusstext; der Bestand seit 2018 füllt sich wochenweise auf (neueste zuerst). Prompt im Admin-UI anpassbar. (#229)
- •„n TOPs zu deinen Themen" (M3): Ratslotse zeigt dir jetzt direkt an, wenn eine kommende Sitzung Tagesordnungspunkte zu deinen Themen enthält — als oranger Hinweis auf der Sitzungs-Karte und im Heute-Briefing; im Aufklapp sind die passenden TOPs markiert („dein Thema · …"). Die Zuordnung merkt sich der Themen-Wächter jetzt dauerhaft und prüft je Konto nur noch geänderte Tagesordnungen. (#228)
- •„Neu"-Zähler für deine Themen (M3): Ratslotse merkt sich jetzt, welche Beschluss-Treffer du schon gesehen hast. Ungesehene zählen als oranger Zähler an „Meine Themen" in der Seitenleiste (mobil als Punkt am Themen-Tab) und als „n neu"-Abzeichen auf der Themen-Karte. Öffnest du die Beschlussliste eines Themas, gilt alles als gesehen. (#226)
- •Sitzungspause-Hinweis auf der Übersicht: Der Rat und seine Ausschüsse pausieren in den Schulferien (so hält es die Stadt grundsätzlich — und unsere Sitzungshistorie seit 2018 bestätigt es). Während einer Pause zeigt die Übersicht jetzt ein Banner mit dem Grund („Sommerpause · bis 12. August"), wann es voraussichtlich weitergeht bzw. dem nächsten schon veröffentlichten Termin — damit sich niemand wundert, warum keine neuen Sitzungen erscheinen. 2026 erklärt es zusätzlich die Besonderheit Kommunalwahl (Wahltag 13. September, Ende der Wahlperiode 31. Oktober, Konstituierung des neuen Rats im November). Ferientermine: amtliche Niedersachsen-Daten bis Sommer 2027. (#215)
- •Haushalts-Quiz mit Diagrammen: Neues Quiz-Thema „Stadt-Haushalt" mit zwölf Fragen direkt aus den beschlossenen Haushaltsplänen der Stadt (2020–2026, offizielle PDFs als Quelle verlinkt): Gesamtausgaben, Defizit, die großen Ausgabenblöcke, Erträge, Anteils- und Ranking-Fragen sowie Zeitreihen („Um wie viel sind die Ausgaben seit 2020 gewachsen?"). Die Auflösung zeigt je nach Frage ein animiertes Balkendiagramm, einen Donut (Anteil an den Gesamtausgaben) oder eine Trendlinie über die Haushaltsjahre — und erklärt die Zusammensetzung inklusive gesetzlich gebundener Pflichtaufgaben vs. frei gestaltbarer freiwilliger Leistungen. Dazu acht neue Glossar-Begriffe (Ergebnishaushalt, Teilhaushalt, Gewerbesteuer, Schlüsselzuweisung …). Komplett ohne KI erzeugt — jede Zahl 1:1 aus dem Plan. (#211)
- •Lotti spielt mit: Im Quiz reagiert die Lotsenmöwe jetzt auf jede Antwort — sie jubelt bei richtig, winkt bei „nah dran" und schaut ratlos bei daneben, immer mit einem kurzen aufmunternden Spruch. Auch auf dem Ergebnis-Bildschirm (Fragen- und Karten-Quiz) feiert sie mit bzw. macht Mut für die nächste Runde. (#209)
- •Wichtige Beschlüsse erkennen: Jeder Beschluss bekommt einen Wichtigkeits-Score (0–100) — geschätzt aus Geldbetrag, Umstrittenheit (Gegenstimmen / knappe Abstimmung), Verbindlichkeit & Gremien-Ebene (Satzung im Rat vs. Routine im Fachausschuss) und Länge des Beratungswegs. Bedeutende Beschlüsse tragen in den Listen ein „Wichtig"-Zeichen, lassen sich per „Wichtigste zuerst" sortieren, und die Beschluss-Seite schlüsselt transparent auf, welche Signale den Score treiben. Auch das Quiz zieht so bevorzugt wichtige statt beliebiger Beschlüsse heran. (#204)
- •Oldenburg-Quiz: Ein neues Quiz zum spielerischen Kennenlernen der Stadt. Wähle einen Wahlbereich, Stadtteil oder ein großes stadtweites Thema und beantworte Multiple-Choice-Fragen aus fünf Kategorien (Geschichte, Orte & Wahrzeichen, Menschen, Ratspolitik, Schätzfragen). Die Fragen sind aus Wikipedia, der Stadt-Website und den Ratsdaten erzeugt und je mit Quelle belegt — nach jeder Antwort siehst du Lösung, Erklärung und Quellenlink und kannst die Frage bewerten (👍/👎), damit schwache Fragen später ersetzt werden. Deine Punkte und Trefferquoten werden je Gebiet gespeichert: Das Fortschritts-Dashboard zeigt deine schwächsten Gebiete zuerst und bietet gezieltes „Üben". (#198)
- •Quiz-Lernmodus & Motivation: Dazu kommen eine tägliche Challenge (5 Fragen, jeden Tag neu und für alle gleich), ein „Meine Fehler"-Stapel zum gezielten Wiederholen zuletzt falsch beantworteter Fragen (spaced repetition, wie beim Führerschein-Lernen), Serien (🔥 Tage in Folge) und Abzeichen (Punkte-Meilensteine, Gebiets-„Kenner"). (#198)
- •Schätzfragen mit Slider: Schätzfragen (Einwohner, Fläche, Beträge …) lassen sich per Schieberegler beantworten — je näher an der richtigen Zahl, desto mehr Punkte (statt vier fester Bereiche). (#198)
- •Karten-Quiz: „Wo liegt Stadtteil X?" — die Oldenburg-Karte mit allen Stadtteilen; man tippt den gesuchten direkt auf der Karte an, die Auflösung färbt den richtigen Stadtteil grün. Rein geografisch erzeugt (ohne KI). (#199)
- •Grund beim Melden einer Quizfrage: Wer eine Frage mit 👎 bewertet, kann jetzt optional (keine Pflicht) angeben, was daran schlecht ist — Admins sehen die Begründung in der Bewertungs-Liste. (#200)
- •Reichere Quiz-Antworten („Mehr dazu"): Die Auflösung einer Frage kann jetzt optional eine ausführlichere Erklärung, eine kleine Karte (bei Orten, Straßen, Gebäuden) und ein Foto zeigen. Fotos kommen aus Wikimedia Commons — ausschließlich frei lizenziert und stets mit Bildnachweis (Autor, Lizenz, Quelle). (#201)
- •Fachbegriffe zum Nachschlagen: In der Quiz-Auflösung sind Begriffe wie „Vergnügungsstätte", „Bebauungsplan" oder „Satzung" dezent unterstrichen — beim Überfahren (bzw. Antippen) erscheint eine kurze, allgemeinverständliche Erklärung. (#202)
- •Straßen als Linie auf der Antwort-Karte: Geht es um eine konkrete Straße, zeichnet die kleine Karte in der Auflösung deren echten Verlauf ein (statt nur eines Punkts). Bewusst zurückhaltend: Bei mehrdeutigen oder weit verstreuten Straßennamen bleibt die Karte lieber leer, statt eine falsche Stelle zu zeigen. (#202)
- •Tipp bei kniffligen Fragen: Schwerere Quizfragen können jetzt einen optionalen Tipp anbieten — ein Klick auf „Tipp anzeigen" gibt vor dem Auflösen einen Denkanstoß, ohne die Lösung zu verraten. (#203)
- •Ganze Gebiete auf der Antwort-Karte: Geht eine Frage um einen Stadtteil (oder eine Person/Sache von dort), zeichnet die Auflösungs-Karte jetzt das ganze Gebiet als Fläche ein — zusätzlich zu den bisherigen Punkt- und Straßen-Markierungen (die Stadtteil-Grenzen kennen wir selbst, also immer verlässlich). (#203)
- •„Beschlüsse dazu" bei Quizfragen: Geht es um ein Ratsthema (z. B. ein Bauprojekt), führt die Auflösung mit einem Klick zu den passenden echten Ratsbeschlüssen in der Beschluss-Suche — so kann man tiefer einsteigen, statt bei der Quizfrage stehenzubleiben. (#208)
- •Zoombare Antwort-Karten: Die kleinen Karten in der Quiz-Auflösung lassen sich jetzt zoomen und verschieben (Zoom-Buttons, Doppelklick, Pinch); nur das Mausrad-Zoom bleibt aus, damit die Seite normal weiterscrollt. (#207)
- •Wahlbereiche auf der Themen-Karte: Der Stadtteil-Filter kennt jetzt die 6 Kommunalwahl-Wahlbereiche der Stadt Oldenburg — ein Klick wählt alle Stadtteile eines Wahlbereichs (Zuordnung geometrisch aus den offiziellen Wahlbereich-Polygonen, openGEOdata Stadt Oldenburg). (#194)
- •Kontrastreichere Stadtkarte: Hell nutzt jetzt CARTO Voyager (Straßen, Grünflächen und Wasser klar erkennbar statt fast konturlos), Dunkel bekommt einen dezenten Helligkeits-/Sättigungs-Boost — Orientierung ohne Bruch im Design. (#194)
- •Themen-Karte rundum verbessert: Nahe herangezoomt (oder gefiltert) stehen die Themen-Namen direkt an den Punkten — kein Antippen mehr nötig, um zu sehen, worum es geht. Die Karte merkt sich ihren Ausschnitt (Zurück vom Thema landet nicht mehr in der Gesamtansicht), lässt sich per Knopf im Vollbild anzeigen und nach Stadtteilen filtern — ausgewählte Stadtteile werden mit Grenze eingezeichnet und die Karte zoomt darauf (Grenzen: © OpenStreetMap-Mitwirkende). (#193)
- •Weg der Vorlage, offiziell: Beschluss-Seiten zeigen die Beratungsfolge aus dem Ratsinfo — jede Station mit Gremium, Datum und Ergebnis, inklusive erst geplanter künftiger Beratungen. (#192)
- •Personen-Profile mit Geschichte: Fraktions-Verlauf (wer wann in welcher Fraktion war, abgeleitet aus den Sitzungs-Anwesenheiten — das Ratsinfo selbst überschreibt Fraktionen rückwirkend) und die offiziellen Gremien-Mitgliedschaften mit Zeiträumen zurück bis 2001. Kontaktdaten der Ratsinfo-Personenseiten werden bewusst nicht übernommen. (#192)
Geändert
- •„Wichtigste zuerst" zeigt jetzt Wichtiges aus der letzten Zeit. Bisher sortierte die Beschluss-Suche stur nach dem Wichtigkeits-Wert — und der ist bei Haushaltsbeschlüssen strukturell am höchsten. Ergebnis: eine Liste voller Haushaltssatzungen, teils Jahre alt, während aktuelle Entscheidungen untergingen. Der Wert wird nun mit der Aktualität gewichtet (nach zwei Jahren zählt er halb, nach vier ein Drittel). Ein aktueller Haushalt steht weiterhin oben, ein fünf Jahre alter rutscht hinter das aktuelle Geschehen — ohne ganz zu verschwinden. Der Eintrag trägt jetzt ein Flammen-Zeichen und die Unterzeile „Wichtigkeit & Aktualität".
- •Sortierung „Spannendste zuerst" entfernt. Nach dem Gesprächswert zu *suchen* ergab wenig Sinn — er lohnt sich zum Stöbern, nicht zum Finden. Er wirkt weiterhin im Hintergrund: beim „Fundstück des Tages", der Karte „Diese Woche im Rat" und als Stichentscheid bei gleichwertigen Treffern. (#295)
- •Technik-Doku auf den aktuellen Stand gebracht. Die Doku unter ratslotse.de/docs hing rund 80 Pull Requests hinterher. Neu dazugekommen sind drei Seiten: Bewertungs-Scores (wie Wichtigkeit, Tragweite und Gesprächswert entstehen und zusammenfließen — inklusive Rechenbeispiel), App & Konten (native iOS-App, Anmeldung samt Sign in with Apple, was am Konto hängt) und Betrieb (Deploy-Wege, Dev-Umgebung, Cronjobs, Backups, LLM-Kosten, komplette Env-Referenz). Korrigiert wurden außerdem sachlich falsche Stellen: Der Wichtigkeits-Score war noch als reine Heuristik „kein ML" beschrieben, obwohl die KI-Tragweite seit Längerem zur Hälfte einfließt; die Tabellenlisten beider Datenbanken waren unvollständig; eine dokumentierte Tabelle gab es gar nicht. (#293)
- •Die Zeitachse baut sich auf. Öffnet man einen Beschluss, zeichnet sich „Anträge & Teilabstimmungen" in unter einer Sekunde auf: die Linie wächst nach unten, die Stationen erscheinen nacheinander und rasten mit einem kleinen Punkt ein — so liest man die Reihenfolge mit, erst die Anträge, dann der endgültige Beschluss. Wer im System weniger Bewegung eingestellt hat (
prefers-reduced-motion), sieht die Zeitachse sofort fertig. (#294) - •Änderungsanträge als Kontext statt loser Treffer (Design 23a). Änderungs- anträge (Teilabstimmungen) tauchen in der Beschluss-Suche nicht mehr als eigene Treffer auf, sondern hängen als Unterzeile am Ursprungsbeschluss („1 Änderungsantrag · CDU · angenommen") — man sieht auf einen Blick, dass es einen gab, ohne dass die Liste zerfasert. Auf der Beschluss-Seite wird aus der flachen Antragsliste eine Zeitachse: der Änderungsantrag (mit „Was beantragt wurde") führt zum endgültigen Beschluss. Wer gezielt recherchiert, blendet die Anträge über den Filter „Änderungsanträge einzeln zeigen" wieder als eigene Treffer ein. (#285)
- •Beschluss-Karten in klaren Zonen (Design 22a). Jede Karte in der Suche folgt jetzt einer festen Reihenfolge: Statuszeile (Ergebnis-Punkt + „Wichtig" zusammen, Pfeil rechts), darunter ruhig Gremium · Datum · TOP, dann Titel + zweizeiliger Auszug, und unten eine Fußzeile mit Abstimmung und Antragsteller links sowie dem Betrag als betontem rechten Anker („57,3 Mio. € · im Beschluss"). Fehlt ein Teil (kein Betrag, kein Auszug), fällt seine Zone einfach weg — nichts rutscht mehr durcheinander. Besonders auf dem Handy sind die Karten dadurch deutlich ruhiger. (#280)
- •Lange Ausschussnamen werden lesbar — überall. Sperrige amtliche Namen wie „Ausschuss für Wirtschaftsförderung, Digitalisierung und internationale Zusammenarbeit" wurden in Karten, Chips und Dropdowns hart abgeschnitten („Ausschuss für Wirtschaf…") — nicht mehr zu unterscheiden. Jetzt zeigt eine zentrale Kurzname-Funktion eine knappe, sinntragende Form („Wirtschaft & Digitales"), und auf Karten/Zeilen steht der volle Name als kleine Unterzeile darunter (max. 2 Zeilen) — nichts geht verloren. In engen Slots (Chips, Dropdown-Trigger, Filter) reicht der Kurzname, der volle Name bleibt im Tooltip und für Screenreader. Greift auf Sitzungen, Übersicht, Personen-Profil, Beschluss-Karten/-Detail und allen Ausschuss-Filtern. (#272)
- •Ziele & Finanzen lesbarer. In der Analyse zeigt jedes Stadtziel jetzt einen Richtungs-Balken (bremst ← rot | Konsens | grün → voran) statt dreier gleich langer Segmente, dazu ein Netto-Chip („überwiegend vorangebracht", „leicht …" oder „umkämpft", wenn beide Seiten stark sind) und ein Icon je Ziel — die Richtung ist auf einen Blick da. Die Finanzen-Seite bekommt über der Themenfeld-Liste eine Summen-Headline („≈ X Mio. € über N Beschlüsse"), die der Balkenliste einen Anker gibt. Gleiche Daten, nur klarer aufbereitet. (#270)
- •Themenfeld-Rückblicke: ganze Karte klickbar. In der Analyse unter „Trends" klappt jetzt ein Klick oder Tipp irgendwo auf die Karte die Kernpunkte auf und wieder zu (nicht mehr nur der kleine Knopf) — auf dem Handy wie am Rechner. Der „Beschlüsse"-Link bleibt eigenständig, markierter Text wird nicht weggeklickt, und ein Chevron zeigt den Zustand. Nebenbei behoben: die Karten liefen auf schmalen Handys minimal über den Rand. (#269)
- •Personen-Profil zeigt die Ämter als Zeitleiste: Die Seite eines Ratsmitglieds beginnt jetzt mit einem Kopf aus Kürzel-Avatar (in Fraktionsfarbe), Name und Kennzahlen (besuchte Sitzungen, aktiv seit, Vorsitze). Die aktuellen Ämter stehen als kleine Gantt-Leiste — Balkenlänge = Amtsdauer, orange = (stellv.) Vorsitz (mit Hammer-Symbol, nach oben sortiert), blau = Mitglied, mit Jahresachse bis „heute". Frühere Ämter klappen darunter zusammengefasst auf. Gleiche Daten wie zuvor (Anwesenheit + offizielle Gremien-Zeiträume), nur endlich auf einen Blick lesbar. (#268)
- •Analyse aufgeräumt: Der vierzeilige Methodik-Kasten über den Analysen (Parteien, Personen, Ziele) ist jetzt ein Satz mit der wichtigsten Zahl; die Erläuterung, wie gezählt wird, wandert in ein „Wie wird gezählt?"- Info-Popover. Und die Parteien-Heatmap hat auf dem Handy endlich eine eigene Fassung: statt einer 12-Spalten-Tabelle im Seitwärts-Scroll zeigt jede Fraktion ihre stärksten Themenfelder als Balken („alle Felder" klappt den Rest auf). (#267)
- •Analyse → Trends: „Rückblick je Themenfeld" wird scanbar. Die Karten zeigen jetzt standardmäßig nur die Kernaussage + Zahl; die vier Stichpunkte klappen per „4 Kernpunkte anzeigen" auf (Zustand je Feld gemerkt). Der Kern jedes Stichpunkts ist gefettet, eine Filter-Chip- Zeile setzt den Fokus auf ein Themenfeld, und „Alle ausklappen" öffnet alles auf einmal. Gleiche Infos, weniger Textwand — auf einen Blick erfassbar. (#266)
- •Quiz-Startseite mit klarer Hierarchie: Statt fünf gleich aussehender Zeilen wandern die Kernzahlen (Punkte, Trefferquote, Serie) jetzt in den Seitenkopf, „Weiterspielen" wird zur Hero-Karte mit Lotti und der gemerkten Auswahl als Chips, und die vier Modi (Neues Spiel, Tägliche Challenge, Karten-Quiz, Eigene Fragen) sind farbcodierte, ganz klickbare Kacheln — die Challenge trägt ein „Heute offen"- bzw. „Erledigt"-Abzeichen. Ohne gemerkte Runde übernimmt „Neues Spiel" die Hero-Karte. Mobil: Hero volle Breite, Kacheln 2 × 2. (#263)
- •Quiz-Setup auf einer Seite statt vier Schritten: Beim neuen Spiel wählen Wahlbereich-Kacheln ihre Stadtteile als Schnellwahl vor (und räumen beim Abwählen nur die eigenen wieder weg), die Stadtteil-Chips zeigen ihre Fragenzahl samt Suche, und die Themen kennen jetzt ihren Ort: gruppiert in „in deiner Auswahl", „stadtweit" und einklappbar „außerhalb" — gewählte Themen bleiben mit Orts-Hinweis sichtbar. Eine Live-Zeile fasst unten zusammen („13 Fragen in 3 Stadtteilen + 1 Thema"), bevor es losgeht. „Weiterspielen" und gemerkte Auswahlen funktionieren unverändert. (#261)
- •Neue Beschlüsse bekommen ihre Scores jetzt tagesaktuell: Der tägliche Protokoll-Lauf bewertet frisch veröffentlichte Beschlüsse direkt mit Gesprächswert und Tragweite und rechnet den Wichtig-Wert sofort neu — „Warum wichtig", die Tragweite in der KI-Frage und „Spannendste zuerst" greifen damit ab dem ersten Tag statt erst nach dem Wochenlauf. (#259)
- •Die KI-Frage kennt jetzt die Tragweite: Bei jedem als besonders folgenreich oder als Formalie eingestuften Beschluss bekommt die KI einen entsprechenden Hinweis (samt „Warum wichtig"-Begründung) mitgeliefert — Antworten führen dadurch mit den Beschlüssen, die wirklich etwas bewegen, und zählen Berufungen oder Kenntnisnahmen nicht mehr gleichwertig auf. Die Quellen-Auswahl selbst bleibt rein relevanz-basiert. (#258)
- •Die Themen-Vorschläge zeigen keine Fast-Duplikate mehr: „Stadion Maastrichter Straße", „Stadionneubau Maastrichter Straße" und „Maastrichter Straße" gelten als ein Interesse — nur der aktivste Kandidat erscheint, und wer so ein Thema schon angelegt hat, bekommt auch keine Variante davon vorgeschlagen. (#253)
- •Themen-Vorschläge, die wirklich interessieren: Die „Gerade aktuell im Rat"-Chips auf „Meine Themen" schlagen jetzt konkrete Orte und Projekte mit jüngster Ratsaktivität vor (Veloroute, Fliegerhorst, deine Straße …) statt Verwaltungsvokabeln wie „Bericht" oder „Annahme". Die KI-Beschreibung des Ortes wird dabei zur Themen-Beschreibung — dadurch trifft auch die Benachrichtigung genauer. (#252)
- •Breiteres Layout wie im Design: Der Inhaltsbereich wächst von 1024 auf 1280 Pixel — Karten und Listen füllen den Bildschirm statt schmal in viel Leerraum zu stehen; Text-Detailseiten behalten ihre Lesebreite. Außerdem klebt die Impressum-Fußzeile mobil nicht mehr auf jeder Seite: Auf Handy und in der App wohnen die Links jetzt unten auf der Konto-Seite (am Desktop bleibt die dezente Fußzeile). (#250)
- •Der Sitzungspause-Hinweis auf der Übersicht ist jetzt kompakt: eine Zeile mit schlafender Lotti und „wieder ab"-Datum statt einer halben Bildschirmseite — die ausführliche Erklärung (Ferien, Kommunalwahl) klappt per Tipp auf „Mehr" aus. (#246)
- •Datenschutzerklärung aktualisiert: Sie beschreibt jetzt die Anmeldung mit Apple (welche Daten Apple übermittelt, inklusive „E-Mail-Adresse verbergen") und die lokale Speicherung auf dem Gerät (Design-Einstellung, App-Anmeldung, 24-h-Offline-Zwischenspeicher). Weiterhin ohne Tracking und ohne Cookie-Banner. (#244)
- •Neuer Hell/Dunkel-Schalter mit Lotti: Statt des Dreistufen-Icons gibt es jetzt einen kleinen Himmel-Schalter — tagsüber Sonne, nachts Mond und Sterne, und Lotti selbst ist der Schaltknauf (nachts schläft sie, mit „z"). Er sitzt im Fuß der Desktop-Seitenleiste; die ⌘K-Palette wechselt passend dazu nur noch Hell ↔ Dunkel. Auf dem Handy (Web wie App) wählst du das Design auf der Konto-Seite über die neue Karte „Erscheinungsbild" mit Vorschau-Kacheln — in der App zusätzlich mit „Automatisch" (folgt der iOS-Einstellung). Wer bisher „System" nutzte, bleibt dabei — bis zur ersten eigenen Wahl. (#243, #245)
- •KI-Frage bleibt beim Hin- und Herschalten erhalten: Wer zwischen „Suchen" und „KI-Frage" wechselt, findet Antwort, Quellen und Eingabe unverändert wieder — auch die Scroll-Position je Modus bleibt. Nach einer Antwort schlagen jetzt Anschlussfragen-Chips die nächste Frage vor (plus „Neue Frage stellen"), und auf dem Handy lugt eine Mini-Lotti über die Antwort-Sprechblase, damit klar ist, wer da spricht. (#242)
- •Feinschliff aus dem UX-Review (Runde 2): Suchfelder haben jetzt eine Löschen-Taste (✕) und die iPhone-Tastatur zeigt „Suchen" statt „Return"; ein Seitenwechsel in der Beschlussliste springt zurück zum Listenanfang; ist Sitzungspause, erklärt der leere „Kommend"-Tab das jetzt selbst (mit schlafender Lotti und Absprung zu vergangenen Sitzungen); auf schmalen Handys wandert der Geldbetrag einer Beschluss-Karte unter den Titel statt ihn zusammenzuquetschen; die Feature-Karten der Startseite sind klickbar; das Logo auf Login/Registrieren führt zurück zur Startseite; und in der iPhone-App ist versehentliches Rein-Zoomen jetzt ganz aus (der iOS-Bedienungshilfen-Zoom funktioniert weiterhin). (#241)
- •Sitzungen als Kalender-Karten (Design 6a, M2): Jede Sitzung trägt links eine Datums-Kachel (Monat + Tag), der Gremiumsname steht in der Markenschrift, und aufgeklappte Tagesordnungen bekommen eine saubere Nummern-Spalte; Ergebnisse erscheinen als Punkt + Wort. Oben weist der kompakte Sitzungspause-Hinweis mit schlafender Lotti auf Ferien hin — inklusive „wieder ab"-Datum, sobald ein Termin bekannt ist. (#225)
- •Konto-Seite mit Schaltern (Design 6a, M2): Benachrichtigungen steuerst du jetzt über zwei Schalter — E-Mail und Push getrennt (mindestens einer bleibt an) — und kannst dir eine Test-Benachrichtigung schicken, um die Zustellung zu prüfen. Die Konto-löschen-Zone spannt rot markiert über die volle Breite. (#224)
- •Neue Startseite mit „Heute im Rat" (Design 2a, M2): Unter dem Kopf der Landing läuft jetzt eine dezente Live-Leiste: Tagt heute ein Gremium, steht dort orange „HEUTE IM RAT" mit Uhrzeit und den ersten Tagesordnungspunkten; sonst der nächste Termin — und in den Ferien schlicht „Sitzungspause bis …". Der Hero zeigt rechts die echte KI-Demo (mit Lotti und „LIVE AUSPROBIEREN"-Badge) statt einer Illustration, links den großen Titel mit orangenem „Kostenlos registrieren" und den Kennzahlen als schlanker Belegzeile. Die Hafenszene mit der Lotsen-Familie wird zum ruhigen Band darunter. (#223)
- •Meine Themen aufgeräumt (Design 3a, M2): Neues Thema legst du jetzt über den orangenen „+ Neues Thema"-Knopf im Kopf an (Dialog statt Dauerformular). Die Themen stehen als Karten im Zweier-Raster — mit Stift/Papierkorb-Symbolen, dem jüngsten Treffer als anklickbarer Zeile mit Orange-Punkt und „n Beschlüsse insgesamt · alle ansehen". Die Ausschuss-Abos schalten sich per Schalter (wie vom Handy gewohnt) statt über Abonnieren-Knöpfe. (#222)
- •Beschluss-Seite als Dokument (Design 3a, M2): Oben eine kompakte Statuszeile (● Ergebnis · Gremium · Datum · TOP · Aktenzeichen · „Wichtig"-Chip mit Punktzahl), der Titel groß in der Markenschrift, darunter zweispaltig: links der Vorgang (Beschlusstext, Anträge, Weg der Vorlage, Vorlagen-Auszug, Ähnliche), rechts eine Meta-Spalte mit Karten für Abstimmung, Betrag (groß in Orange), Antragsteller, Dokumente (alle Links gebündelt) und Anwesenheit. Fehlen Abstimmung oder Betrag, erklärt die Karte das Fehlen, statt zu verschwinden. Mobil bleibt alles einspaltig — erst der Text, dann die Meta-Daten. (#221)
- •KI-Frage-Zustände nach Design 6a/4a (M2): Die Antwort kommt als Sprechblase neben Lotti, der Ladezustand wohnt in einem gestrichelten Container, und findet die KI keine passenden Beschlüsse, sagt sie das ehrlich — mit zwei direkten Auswegen: „Als Thema anlegen" (öffnet Meine Themen mit vorbefülltem Namen, damit du benachrichtigt wirst, sobald der Rat dazu entscheidet) und „Frage umformulieren". (#220)
- •Suche mit Filter-Chips (Design 1a, M2): Die Beschluss-Suche hat jetzt ein großes Suchfeld und darunter eine Chip-Zeile ([Beschlüsse ▾] · Themenfeld · Ausschuss · Ergebnis · Zeitraum, rechts die Sortierung) — aktive Filter füllen sich blau und lassen sich per ✕ direkt löschen; die Auswahl öffnet sich als leichtes Popover (mobil weiterhin als Bottom-Sheet). Der „Suchen | KI-Frage"-Umschalter sitzt jetzt oben im Seitenkopf. Findet die Suche nichts, bietet Lotti direkt „KI-Frage stellen" an — die Frage übernimmt den Suchtext. Alle Filter-Links (aus Analyse, Karten, Badges) funktionieren unverändert. (#219)
- •„Heute"-Briefing statt Übersicht (Design 2a, M2): Die Startseite nach dem Login ist jetzt ein tägliches Briefing: Begrüßung mit Lotti und Datum, daneben die zentrale Aktion „Frag den Rat", darunter drei Karten — Nächste Sitzungen (mit TOP-Zahl), Neu zu deinen Themen (die jüngsten Beschluss-Treffer deiner Themen) und die Zahl der Woche (größter beschlossener Betrag der letzten Tage, mit Link zum Beschluss). Die „Ersten Schritte" schrumpfen auf eine schlanke Leiste mit „Weitermachen"-Knopf. Das Sitzungspause-Banner bekommt die schönere Hülle: Wellen-Fläche, schlafende Lotti im Saison-Outfit und eine „Wieder ab …"-Kachel. (#218)
- •Design „Feinschliff 2a" — Fundament & Navigation (M1): Erster Schritt des neuen Designs. Die Seitenleiste führt jetzt direkt zu *Heute, Suchen & Fragen, Sitzungen, Stadtkarte* (vorher „Themen"-Tab) *und Analyse*, darunter der Bereich *Persönlich*; aktive Einträge sind eine ruhige Fläche statt eines Balkens. Die mobile Leiste bekommt eine zentrale orangene „Fragen"-Taste, die direkt zur KI-Frage führt. Ergebnisse in Listen zeigen Punkt + Wort („● Angenommen") statt farbiger Kästen, Beträge stehen als fette Zahl rechts, und der Beschlusstext auf der Detailseite liegt auf einer ruhigen blauen Fläche mit Label. Seitentitel in der Markenschrift. (#217)
- •Karten-Quiz nutzt den Bildschirm: Die „Wo liegt …?"-Karte wächst jetzt mit dem Fenster (bis ca. 900 × 720 Pixel auf großen Bildschirmen statt fix ~530 × 440) und zoomt das Stadtgebiet passgenauer ein. Bei Größenänderungen (Fenster, einklappende Mobil-Browserleiste) passt sich die Karte live an. (#214)
- •Quiz-Startseite aufgeräumt: Statt einer einzigen überladenen Auswahlseite gibt es jetzt „Weiterspielen" (spielt die letzten Einstellungen weiter, mit einer kurzen Beschreibung, was das war) und „Neues Spiel" als mehrstufigen Assistenten (Wahlbereich → Themen → Stadtteile → Kategorien, Schritt für Schritt durchklicken). Die Statistik steht als Kurzform oben, die ausführliche Auswertung (Fortschritt je Gebiet, Serie, Abzeichen) auf einer eigenen Seite (
/quiz/stats). (#205) - •Relevantere & eindeutigere Quizfragen: Die Fragen-Erzeugung meidet jetzt belangloses Verfahrens-Trivia (Workshop-Teilnehmerzahlen, Anzahl eingereichter Ideen, exakte Sitzungsdaten) und benennt das gemeinte Ding konkret (den Stadtteil/das Projekt ausschreiben statt „der neue Stadtteil"). Schätzfragen nur noch für sinnvolle Größen (Einwohner, Fläche, Bausummen …). Wirkt auf neu erzeugte Fragen. (#208)
- •Fairere, lehrreichere Quizfragen: Die Fragen-Erzeugung zielt jetzt auf einen „Aha-Moment" beim Auflösen — mehrheitlich leichte bis mittlere Fragen (keine obskuren Randfiguren oder beliebigen Jahreszahlen), und die Erklärung vermittelt das *Warum*, statt nur die Antwort zu wiederholen. Wirkt auf neu erzeugte Fragen. (#203)
- •Grenzstadtteile in mehreren Wahlbereichen: Stadtteile, die über eine Wahlbereichs-Grenze reichen, werden jetzt in allen zugehörigen Wahlbereichen gelistet statt nur im überwiegenden — z. B. Bürgerfelde (1 + 3), Osternburg (5 + 2), Haarentor (3 + 6). Ermittelt aus der Flächen-Überlappung der Stadtteil-Polygone mit den offiziellen Wahlbereich-Grenzen (≥ 10 %). Wirkt auf den Karten-Filter und die Quiz-Gebietsauswahl. (#199)
- •Bessere Karte im Dunkelmodus: Die dunkle Stadtkarte ist jetzt ein gut lesbarer grauer Slate-Ton (invertierte Voyager-Basemap) statt fast schwarz — Straßen, Waldgebiete und Wasser sind zur Orientierung erkennbar. (#196)
- •Karten-Labels ohne Überlappung: Die Themen-Namen auf der Karte werden jetzt mit Kollisionsvermeidung platziert — die wichtigsten Themen (nach Beschlusszahl) zuerst, was nicht frei steht, erscheint beim Heranzoomen. Labels sind klickbar wie ihre Punkte und heben sich beim Überfahren mit der Maus in den Vordergrund. (#195)
- •Ruhigere Sidebar: Die Suche ist kein gedrungenes Eingabefeld mehr, sondern fügt sich als schlanke Zeile in die Navigation ein (⌘K wie gehabt). (#191)
- •Onboarding-Kurs merkt sich den Fortschritt am Konto: „Erste Schritte mit Lotti" zählt jetzt geräteübergreifend — Schritte gelten als erledigt, sobald die jeweilige Seite besucht wird (nicht nur per Klick auf die Kurs-Kachel), und nach dem Abschluss verschwindet der Kurs vom Dashboard. Bisheriger Fortschritt wird automatisch übernommen. (#190)
- •Technik-Doku aufgeräumt: interaktive Diagramme (Mermaid) für Architektur und KI-Pipeline, Betriebs-Interna (Zeitpläne, interne Funktionsnamen, To-do-Listen) entfernt, veraltete Formulierungen aus der Zeit vor dem Open-Source-Release bereinigt. Die Doku verlinkt jetzt zurück zur App und aufs GitHub-Repo. (#189)
Behoben
- •Konto löschen entfernt jetzt wirklich alle Daten. Beim Löschen eines Kontos blieben Daten zurück, die daran hingen: Gerätetokens für Push, alle Quiz-Daten (Antworten, Bewertungen, Tagesserie, eigene Fragen), die Merker für gesehene Themen-Treffer, die Treffer selbst sowie das Aktivitätsprotokoll. Gelöscht wurden nur sechs von sechzehn betroffenen Tabellen — der Rest war über die Zeit dazugekommen, ohne beim Löschen berücksichtigt zu werden. Jetzt wird alles abgeräumt. Damit das so bleibt, prüft ein Test die Liste gegen die Datenbank: Kommt künftig eine neue nutzerbezogene Tabelle dazu, schlägt er fehl, bis sie eingetragen ist. (#296)
- •Die Wichtigkeits-Karte rechnet jetzt vor, wie sie auf ihren Wert kommt. Aufgeklappt erklärten die vier Balken (Geldbetrag, Umstrittenheit, Verbindlichkeit, Beratungsaufwand) nur die halbe Miete: Seit die KI die Tragweite bewertet, ist der angezeigte Wert das Mittel aus beidem — die Tragweite selbst war aber unsichtbar und im Erklärtext nicht mal erwähnt. Bei einem Beschluss mit „60/100" und zwei Balken auf „keine Daten" ging die Rechnung für Leser:innen schlicht nicht auf. Jetzt trägt jeder Balken seinen Punkte-Beitrag (z. B. „+52"), darunter stehen „Aus den Ratsdaten", „Tragweite (KI-Einschätzung)" und das Mittel aus beiden — die Spalte addiert sich sichtbar zum Endwert. Ergänzt um den Hinweis, dass fehlende Angaben nicht als null zählen, sondern aus der Gewichtung fallen (deshalb kann ein Beschluss mit zwei fehlenden Signalen trotzdem hoch liegen). (#290)
- •Teilabstimmungen zeigen wieder, was beantragt wurde. Auf der Beschluss-Seite stand unter „Anträge & Teilabstimmungen" nur, *wer* einen Änderungsantrag gestellt hat — nicht, *was* er ändern sollte. Der Antragstext wurde aus dem falschen Feld gelesen und blieb deshalb immer leer. Jetzt erscheint bei rund drei Vierteln der Teilabstimmungen der tatsächliche Inhalt (z. B. „Streichung des Punktes 8 ‚Einrichtung einer Umweltzone'"); nennt das Protokoll nur die antragstellende Fraktion, bleibt es wie bisher bei Antragsart und Ergebnis. Außerdem benennt die Zeile die Antragsart korrekt — Vertagungs-, Verweisungs- oder Geschäftsordnungsantrag hießen zuvor pauschal „Änderungsantrag". (#288)
- •App: Absturz beim Öffnen von „Meine Themen" behoben. In der iOS-App führte das Antippen des Themen-Tabs zu „Etwas ist schiefgelaufen". Ursache war ein doppelt vergebener Daten-Schlüssel im App-Cache, unter dem die Ausschuss-Abos mal als Liste, mal als Objekt lagen. Beide Stellen nutzen jetzt dieselbe Form; ältere Zwischenspeicher werden beim Update verworfen. (#277)
- •App: „Frag den Rat" funktioniert wieder. In der iOS-App scheiterte die KI-Frage mit „Load failed". Dem Streaming-Endpoint fehlten die Freigabe- Header für die App und die App-Anmeldung wurde nicht durchgereicht; beides ist ergänzt. Rein serverseitig — nach dem Update funktioniert es in der bestehenden App ohne Neuinstallation. (#281)
- •App: Impressum, Datenschutz und Changelog wieder verlassbar + Kopf unter der Dynamic Island. Auf diesen Seiten fehlte in der App ein Zurück-Weg, und der Seitenkopf lag unter der Kamera-Insel des iPhones. Jetzt gibt es oben einen Zurück-Knopf, und der Kopf respektiert den sicheren Bereich. (#281)
- •Datumsauswahl: schneller ins Jahr, ruhigere Darstellung. Im Datumsfilter führt ein Tipp auf die Kopfzeile („Juni 2025") jetzt direkt in die Monats- und ein weiterer in die Jahresauswahl — so springt man mit wenigen Tippern Jahre weit, statt sich Monat für Monat durchzuklicken. Außerdem behält der Kalender immer dieselbe Höhe (feste sechs Wochenzeilen): Bei Monaten mit weniger Zeilen verrutschte zuvor die Position der Navigationspfeile, wenn sich der Kalender nach oben öffnete (z. B. im mobilen Filter). (#283)
- •Mobiler Feinschliff (iPhone): Im Filter-Sheet der Beschluss-Suche saß der Schließen-„×" über dem ersten Filter statt oben in der Kopfzeile (die Notch-Safe-Area galt fälschlich auch fürs Bottom-Sheet), und der Datums-Kalender lief unten aus dem Bild — er klappt jetzt nach oben (bzw. zur Seite), wenn kein Platz ist. In der Parteien-Analyse waren die Themenfeld-Namen abgeschnitten („Klima & U…"); die Beschriftung bekommt mehr Platz, die Balken sind entsprechend kürzer. Auf der Übersicht ist der „Frag den Rat"-Knopf mobil jetzt volle Breite (vorher links gequetscht mit viel Leerraum rechts). (#278)
- •Lotti-Tour: Sprechblase läuft auf schmalen iPhones nicht mehr über den Rand. Im letzten Tour-Schritt („Leinen los!") ragte die Karte — samt „Erste Frage stellen"-Knopf — rechts aus dem Bildschirm, weil die breitere Button-Zeile die Karte nicht schrumpfen ließ. Die Karte darf jetzt bis in den verfügbaren Platz schrumpfen, und die Knopf-Zeile bricht bei Bedarf um. (#275)
- •Ausschuss-Filter (Beschluss-Suche) zeigt jetzt Kurznamen. Im „Ausschuss"- Dropdown standen die langen amtlichen Namen und wurden mit „…" abgeschnitten; jetzt greift auch dort die Kurzname-Logik — Kurzname als Zeile, der volle Name als umbrechender Untertitel darunter. (#274)
- •Ratsgruppen werden nicht mehr als Partei verzerrt. Wer in einer Gruppe sitzt (Zusammenschluss mehrerer Parteien/Parteiloser, z. B. „FDP/Volt" oder „Für Oldenburg"), erschien im Personen-Profil fälschlich unter einer einzelnen Partei — Jens Lükermann etwa als „FDP", obwohl er nie FDP-Mitglied war, sondern Volt in der Gruppe FDP/Volt. Der Verlauf heißt jetzt „Zugehörigkeit im Zeitverlauf" und zeigt Fraktion, Gruppe und parteilos sauber getrennt: eine Gruppe als eigene Kachel („Gruppe FDP/Volt" bzw. „Für Oldenburg") mit ihren Mitglieds-Parteien als Farbpunkte, dazwischen echte parteilose Phasen. Grundlage sind die Anwesenheits-Label der Protokolle (ein Gruppen-Mitglied trägt dort den Gruppennamen); erkannt über eine kuratierte Gruppenliste — ein „/" allein zählt nicht („Bündnis 90/Die Grünen" bleibt eine Partei). (#273)
- •Die Filter-Pillen der Beschluss-Suche zeigen jetzt ihre Auswahl: Wer auf „Berichte" oder „Alle Vorgänge" umschaltet, sieht das direkt in der Pille (farblich gefüllt statt weiter „Beschlüsse"), und der Sortierung-Knopf trägt die gewählte Reihenfolge („Spannendste zuerst" …) statt stumm „Sortierung". (#257)
- •Die Suche (Lupe bzw. ⌘K) zoomt in der iPhone-App nicht mehr ungewollt hinein: Das Eingabefeld der Befehls-Palette nutzt auf Mobilgeräten jetzt 16 px Schriftgröße — darunter vergrößert iOS beim Antippen automatisch die ganze Ansicht. (#240)
- •Design-Audit umgesetzt: Das Seiten-Menü und Hinweise respektieren jetzt die iPhone-Aussparung (nichts liegt mehr hinter Uhr/Dynamic Island), die Registrierung nennt die Datenschutzerklärung direkt am Knopf, und der Mitteilungs-Hinweis in der App erscheint erst, wenn es etwas zu melden gäbe (erstes Thema oder Abo). Dazu Feinschliff: Häkchen-Argumente auf der Anmelde-Seite, die „Heute im Rat"-Leiste verlinkt in jedem Zustand, Sitzungszeilen auf „Heute" springen direkt zur aufgeklappten Sitzung, Filter-Chips mit Druck-Feedback, aufgeräumte Login-Seite. (#238)
- •Terminplan sichtbar, sobald das RIS ihn veröffentlicht: Das Ratsinformationssystem verlinkt Sitzungen erst, wenn ihre Tagesordnung online steht — frisch veröffentlichte Sitzungstermine (wie der Terminplan ab August) waren für Ratslotse deshalb wochenlang unsichtbar. Jetzt liest der Scraper zusätzlich die Kalenderansicht und den RSS-Feed des RIS und zeigt terminierte Sitzungen mit dem Hinweis „Tagesordnung folgt" auf der Sitzungen-Seite, im Heute-Briefing und in der Landing-Leiste; auch der Sitzungspause-Hinweis kennt damit das „wieder ab"-Datum. (#227)
- •Sitzungs-Benachrichtigungen überleben LLM-Aussetzer: Lieferte das Sprachmodell für eine Tagesordnungs-Zusammenfassung kein gültiges JSON, brach bislang der komplette tägliche Ausschuss-Check ab — betroffene Benachrichtigungen gingen gar nicht raus (im Juli 11× passiert). Jetzt wird einmal neu versucht; klappt auch das nicht, kommt die Benachrichtigung ohne Zusammenfassung (mit Link zur Tagesordnung), und der nächste Lauf versucht die Zusammenfassung erneut statt ein falsches „nur Routine-TOPs" festzuschreiben. (#213)
- •Personen zeigen ihre letzte Fraktion: Ratsmitglieder, die die Fraktion gewechselt haben (z. B. FDP → Volt oder Die Linke → BSW), wurden in der Personen-Liste und auf der Personen-Seite unter ihrer häufigsten statt ihrer aktuellen Fraktion geführt. Jetzt zählt die letzte aktive Fraktion (aus der jüngsten Sitzungs-Anwesenheit bzw. dem Ende des Fraktions-Verlaufs). (#212)
- •Quiz-Feinschliff aus dem Spielen: Karten-Pins, die nur „Oldenburg" als Ganzes markierten (z. B. bei Fragen zu Bewegungen), entfallen — auch bei schon vorhandenen Fragen. Der Fortschrittsbalken zeigt jetzt die aktuelle Frage (bei „3/5" ist er 60 % voll). Schätzfragen starten den Slider bewusst außerhalb der Mitte (und die Spannen werden asymmetrisch erzeugt) — „gar nicht bewegen" ist keine Gewinnstrategie mehr. Neu im Glossar: die Krankenhaus-Versorgungsstufen (Maximal-/Schwerpunkt-/Grundversorgung, Fachkrankenhaus). (#210)
- •NWZonline-Link lädt nicht mehr endlos: Bei sehr langen Beschlusstiteln (mit Klammer-Zusätzen, Datum, „- Bericht"-Anhang) hängte sich die NWZ-Suche in einer Dauer-Ladeschleife auf. Der Link „Bei NWZonline nach Berichten suchen" nutzt jetzt eine gekürzte, saubere Suchanfrage (Schlagworte statt kompletter Titel). (#200)
- •Quiz-Quelle verweist auf die richtige Seite: Bei Fragen zu einer Person oder Sache verlinkt „Quelle: Wikipedia" jetzt deren eigenen Artikel (z. B. Hermann Lehmkuhl) statt der Stadtteil-Seite, aus der die Frage stammt. (#203)
- •Der neue Stadtteil-Filter verschob auf dem Handy das ganze Themen-Layout seitlich (die Filter-Chips passten nicht mehr in eine Zeile) — sie brechen jetzt sauber um, und das Stadtteil-Menü öffnet als bildschirmfüllendes Auswahl-Feld statt halb aus dem Bild zu ragen. (#197)
- •Auf dem Handy konnte die Stadtkarte über der Navigation und anderen Elementen liegen — die Karte bleibt jetzt unter Kopf- und Fußleiste. (#194)
- •Ratsgruppen zählen für alle beteiligten Parteien: Anträge der früheren FDP/Volt-Gruppe werden jetzt sowohl FDP als auch Volt zugerechnet (nach der Trennung zählen neue Anträge automatisch nur für die jeweilige Fraktion, weil die Dokument-Labels die Zeit tragen). „WFO/LKR" war keine Partei und ist aus allen Auswertungen entfernt. (#187)
v1.2.0
2026-07-03Hinzugefügt
- •Fraktions-Anträge ausgewertet: Die Original-Anträge der Fraktionen (Anlagen der Vorlagen) werden eingelesen — mit automatischer Antragsteller-Erkennung. Die Analyse zeigt echte Erfolgsquoten je Fraktion aus den eingereichten Dokumenten, Beschluss-Seiten ein Anlagen-Dossier (Anträge, Karten, Bilanzen) mit Direktlinks. (#174)
- •Technik-Doku live: Die ausführliche Doku ist unter
/docserreichbar — inklusive Übersichtsgrafik „Welche Dokumente werten wir aus?". Sie ersetzt die bisherige Technik-Seite und ist im Footer verlinkt. (#175, #176, #186) - •Themen-Vorschläge zum Anklicken: „Meine Themen" schlägt die häufigsten Beschluss-Schlagworte der letzten sechs Monate vor — ein Klick legt das Thema mit fertiger Beschreibung an. (#184)
- •Glitzer-Hinweis auf die KI-Frage: Der Umschalter funkelt dezent, bis die erste Frage gestellt wurde — danach ist Ruhe. (#182)
Geändert
- •Themen-Seite neu: Die Stadtkarte steht immer oben (kein verstecktes Toggle mehr), Filter-Chips nach Art (Orte/Organisationen/Projekte) filtern Karte und Liste gemeinsam, und die Top-Reihe priorisiert nach Aktivität der letzten 12 Monate statt nach Lebenszeit-Summe. (#181, #184)
- •Themenfeld-Rückblicke als Digest-Karten: Kernaussage + Stichpunkte mit Feld-Icons statt langer Textblöcke; die Analyse öffnet jetzt standardmäßig auf Trends. (#183, #185)
- •Motion-Feinschliff nach Design-Engineering-Standards: stärkere Easing-Kurven, Press-Feedback auf Buttons und Umschaltern, ⌘K öffnet ohne Animation, Karten-Hover feuert nicht mehr auf Touch. (#177)
- •Landing: asymmetrisches Feature-Bento mit „Frag den Rat" als Hero-Karte, dezentes Filmkorn auf der Hafenszene, Glas-Effekt auf der mobilen Tab-Bar. (#178, #179)
Behoben
- •Die Technik-Doku unter
/docswar seit jeher nicht erreichbar (fehlende Proxy-Route) — sie wird jetzt direkt von der App ausgeliefert. (#176) - •Der Feedback-Dialog verschwand auf dem Handy sofort wieder (er hing im Menü-Sheet und wurde mit ihm geschlossen). (#180)
- •Die KI-Demo auf der Landing ließ die Seite beim Text-Streaming wachsen — die Karte reserviert jetzt von Anfang an ihre End-Höhe. (#181)
- •Sporadische Serverfehler unter parallelen Anfragen behoben (SQLite-Verbindungen waren nicht threadfest). (#184)
Betrieb
- •Ops-Workflows per Knopfdruck: Vorlagen-/Anlagen-Backfill und Rückblick-Regeneration laufen über GitHub Actions. (#173, #185)
v1.1.0
2026-07-02Hinzugefügt
- •Vorlagen-Volltexte: Sachverhalt und Begründung jeder Vorlage (~5.000 Dokumente seit 2018) werden eingelesen — sichtbar auf den Beschluss-Seiten („Aus der Vorlage"), durchsuchbar und Teil des KI-Kontexts. (#172)
- •Klickbare Fußnoten in KI-Antworten: Zitate erscheinen als nummerierte Chips; ein Klick springt zur Quelle, die Quellen tragen die Nummern. (#171)
- •KI-Prompts im Admin-UI editierbar — Ton und Format der Antworten lassen sich ohne Deploy anpassen. (#171)
Geändert
- •Konkretere KI-Antworten: mehr Kontext je Beschluss (inkl. Gremium, Datum, Ergebnis), neueste Beschlüsse werden zuerst genannt. (#171)
Betrieb
- •Rate-Limit für die KI-Frage (10 Fragen / 10 Minuten), vollständiges Modell-Warm-up beim Start und persistenter Modell-Cache — die erste Frage nach einem Deploy ist so schnell wie jede andere. (#171)
v1.0.0
2026-07-02Hinzugefügt
- •Lotti-Familie: Maskottchen mit Küken, saisonalen Outfits und Feiertags-Spezials; neue Hafenszene auf der Landing. (#161)
- •Social-Media-Vorschaubild (OG-Image) und Launch-Feinschliff. (#166)
- •Konto-Löschung verlangt das Passwort und verabschiedet sich per E-Mail. (#167)
Geändert
- •Keine Admin-Freischaltung mehr: Neue Konten sind direkt nach der E-Mail-Bestätigung aktiv — niemand wartet mehr auf manuelle Freigabe. Admins können Konten weiterhin moderieren. (#163)
- •KI-Frage und Suche teilen sich dasselbe Karten-Layout; die überzählige mobile Zwischen-Navigation ist entfernt. (#170)
- •Robustheit im Web-UI: Fehler einzelner Seiten erhalten die App-Shell, defensives Rendering bei unerwarteten Daten. (#169)
- •iOS-App: Privacy-Manifest, App-Store-Compliance, iPhone-only. (#168)
Behoben
- •Der „Demo"-Hinweis der Landing-KI-Demo wurde vom Fragen-Button verdeckt. (#162)
Entfernt
- •Telegram-Bot entfernt: Benachrichtigungen laufen ausschließlich über Web-Push (iOS/Android-App) und E-Mail; die Zustellkanäle sind
email/push/both. Bestehende Telegram-Konten wurden serverseitig migriert. (#159)
Betrieb
- •Cron-Alarme per E-Mail: Schlägt ein Cron-Job fehl, geht zusätzlich zum Log eine E-Mail an die Betreiber-Adresse. (#165)
- •Off-Site-Backups: Die tägliche Backup-Rotation kann per rsync auf einen zweiten Host gespiegelt werden. (#165)
- •Deploy nur mit grünen Tests: Der Deploy-Workflow führt die Tests selbst aus und bricht bei Fehlern ab. (#164)