Changelog
Aktuelle Änderungen und Updates
Juli 2026
complete IDOR Cluster 4 plan
Julian Müller
vor 2 Tagen
68c823d
SUMMARY for IDOR Cluster 4 (Rueckmeldung/Quiz/Ereignis/Teilnehmer/Bemerkung/Dokument/Gaesteliste)
Julian Müller
vor 2 Tagen
7bc38d2
WR-02 remove unscoped Teilnehmer.find from kuechendienst helper
Julian Müller
vor 2 Tagen
cd801d2
WR-07 AktivitaetsVorgangPolicy dead bare-is_admin destroy?
Julian Müller
vor 2 Tagen
404d655
WR-06 FreizeitPolicy massen_import family bare is_admin
Julian Müller
vor 2 Tagen
a8c4594
WR-01 TicketPolicy admin branch not org-scoped
Julian Müller
vor 2 Tagen
bbc1536
WR-24 Gaesteliste share-token co-guest enumeration
Julian Müller
vor 2 Tagen
b87114e
WR-19 Dokumentenordner create/update trusts foreign parent_id
Julian Müller
vor 2 Tagen
86889f0
WR-18 Dokument create trusts foreign freizeit_id
Julian Müller
vor 2 Tagen
163aefe
CR-08 Bemerkung cross-org note deletion
Julian Müller
vor 2 Tagen
c11bd84
WR-28 Teilnehmer create/new missing authorize + freizeit_id
Julian Müller
vor 2 Tagen
d53b847
CR-03 Ereignis partial + controller scoped to current_freizeit
Julian Müller
vor 2 Tagen
586cd92
CR-09 Quiz-Session cross-tenant creation/join
Julian Müller
vor 2 Tagen
6e357fe
CR-08 Rueckmeldung cross-tenant read/export/delete
Julian Müller
vor 2 Tagen
5098f2b
complete broken-forms/routes plan
Julian Müller
vor 2 Tagen
9797e10
SUMMARY for broken-forms/routes + dead rails-ujs confirm fixes
Julian Müller
vor 2 Tagen
c6eea1a
WR-02 admin delete/reject buttons re-arm dead rails-ujs confirm
Julian Müller
vor 2 Tagen
6dbdf97
CR-08 ticket-card delete uses real button_to + turbo_confirm
Julian Müller
vor 2 Tagen
b19616d
CR-07 handlungsleitfaden edit form uses singular update route
Julian Müller
vor 2 Tagen
f0d2cbc
CR-06 nachtwachen show back link + delete button target real URLs
Julian Müller
vor 2 Tagen
81d4517
CR-01 rollen add-user form drops stray scalar hidden field
Julian Müller
vor 2 Tagen
cfc665a
CR-13 invite token only consumed on successful registration
Julian Müller
vor 2 Tagen
de074da
CR-12 BetreuerAbrechnung wizard_patch redirect carries record id
Julian Müller
vor 2 Tagen
1ae57c6
CR-11 AusgehVorgang update redirect carries record id
Julian Müller
vor 2 Tagen
6442754
complete IDOR Cluster 3 plan
Julian Müller
vor 2 Tagen
ac9a75b
SUMMARY for IDOR Cluster 3 (AnAbreiseVorgang destroy + mass create + Strandwachen gate)
Julian Müller
vor 2 Tagen
a336a0b
controllers WR-29 — StrandwachenEreignisse paket-module gate + scoped parent
Julian Müller
vor 2 Tagen
b8dada6
controllers CR-07 — MassenAusgehVorgang bulk create scopes ids, stops flash leak
Julian Müller
vor 2 Tagen
63f7758
controllers CR-06 — MassenAnAbreiseVorgang bulk create scopes ids to current_freizeit
Julian Müller
vor 2 Tagen
af781fe
policies CR-05 — AnAbreiseVorgangPolicy#destroy? drops is_admin? bypass
Julian Müller
vor 2 Tagen
de7ac12
complete IDOR Cluster 2 (AusgehVorgang/AusgehVorgangOrt/Anwesenheitskontrolle/Ausleihvorgang) plan
Julian Müller
vor 2 Tagen
744ecf7
controllers WR-13 — Ausleihvorgang#update cannot re-assign freizeit_id/betreuer_user_id
Julian Müller
vor 2 Tagen
a15f0b9
views CR-04 — anwesenheitskontrolle partial renders only current_freizeit participants
Julian Müller
vor 2 Tagen
6f284ea
controllers WR-11 + WR-12 — AnwesenheitskontrollVorgang#create scoped find + nil-safe arrays
Julian Müller
vor 2 Tagen
ac2a711
controllers CR-10 — TeilnehmersController authorizes + org-scopes the child
Julian Müller
vor 2 Tagen
81992bd
views CR-05 — ausgeh_vorgang_orts place dropdown scoped to current_freizeit
Julian Müller
vor 2 Tagen
8987d80
controllers CR-05 — AusgehVorgangOrtsController scopes parent Teilnehmer + authorizes instance
Julian Müller
vor 2 Tagen
c9a1a15
policies CR-07 + WR-09 — AusgehVorgangOrtPolicy drops bypass, class-safe predicate
Julian Müller
vor 2 Tagen
e40e6d0
policies CR-06 — AusgehVorgangPolicy drops is_admin? cross-org bypass
Julian Müller
vor 2 Tagen
4aa65e8
complete Class-G integrity/crash + AS survivor fixes plan
Julian Müller
vor 2 Tagen
d413296
SUMMARY for Class-G integrity/crash BLOCKER + AS survivor fixes
Julian Müller
vor 2 Tagen
e3168d0
AVV signature block Organisation name folded to Windows-1252
Julian Müller
vor 2 Tagen
ac2c3e5
fold participant/guardian free text to Windows-1252 in standalone PDF generators
Julian Müller
vor 2 Tagen
2449905
reimplement CampBookPdf#safe_text as a real Windows-1252 fold
Julian Müller
vor 2 Tagen
7537bd4
leaderboard PDF renders negative Korrektur without raising
Julian Müller
vor 2 Tagen
80d177a
GenerateCampBookJob skips work for demo organisations
Julian Müller
vor 2 Tagen
5d947e9
route TicketKommentar attachments through the demo shard service
Julian Müller
vor 2 Tagen
a34ad11
AvvVertrag recomputes signed hash chain at sign time, not create time
Julian Müller
vor 2 Tagen
b5fd702
AvvVertrag legal tamper-evidence columns immutable after signing
Julian Müller
vor 2 Tagen
3f0103f
neutralize CSV formula/DDE injection in Gaesteliste/BetreuerAbrechnung exports
Julian Müller
vor 2 Tagen
0215fed
complete XSS BLOCKER fixes plan
Julian Müller
vor 2 Tagen
aa0112d
SUMMARY for XSS BLOCKER fixes plan
Julian Müller
vor 2 Tagen
2a11f51
fix attribute-injection XSS in log-widget replace path (javascript CR-02)
Julian Müller
vor 2 Tagen
65580d8
drop leftover connect-time console.log in ausgeh-vorgang-info controller
Julian Müller
vor 2 Tagen
2f040ae
remove innerHTML XSS sink in ausgeh-vorgang-info controller (javascript CR-01)
Julian Müller
vor 2 Tagen
4dc303c
sanitize wiki-artikel editor seed against stored-XSS (views CR-02)
Julian Müller
vor 2 Tagen
5598b5f
complete Class C infinite-loop/DoS fixes plan
Julian Müller
vor 2 Tagen
414eb09
SUMMARY for Class C infinite-loop/DoS fixes
Julian Müller
vor 2 Tagen
5ccccbe
reach FaceMatchingService's poll safety timeout on persistent failure
Julian Müller
vor 2 Tagen
f14ca47
bound set_code_to_org's uniqueness retry, stop the DoS spin
Julian Müller
vor 2 Tagen
d566963
guard Dokumentenordner parent-cycle infinite loop
Julian Müller
vor 2 Tagen
c66875e
guard WikiBereich parent-cycle infinite loop
Julian Müller
vor 2 Tagen
39a48ed
terminate Freizeit#duration infinite loop for future-dated camps
Julian Müller
vor 2 Tagen
eb3f002
complete Data-Loss & Self-Approval Fixes plan
Julian Müller
vor 2 Tagen
1308e24
BetreuerAbrechnung wizard no longer trusts client str_status (views WR-06)
Julian Müller
vor 2 Tagen
188a677
close Fahrdienst reimbursement self-approval bypass (controllers CR-01)
Julian Müller
vor 2 Tagen
2448165
GREEN - validate-then-transact roster CSV import (jobs CR-01)
Julian Müller
vor 2 Tagen
1f02fb3
RED - abort-path data-loss tests for roster CSV import (jobs CR-01)
Julian Müller
vor 2 Tagen
3b9e0b2
complete Org/Financial IDOR remediation plan
Julian Müller
vor 3 Tagen
f7e5350
SUMMARY for org/financial IDOR remediation plan
Julian Müller
vor 3 Tagen
8a9f8e5
controllers WR-07 — scoped find in RollenController#set_rolle + OrganisationsController#set_organisation
Julian Müller
vor 3 Tagen
57f0175
policies WR-02 — BetreuerUserRollePolicy#create?/#destroy? org-scope role assignment
Julian Müller
vor 3 Tagen
b5d6e2b
controllers CR-04 + policies CR-04 — create_from_freizeit halts + scopes target Freizeit
Julian Müller
vor 3 Tagen
1953342
controllers CR-03 — AbrechnungsController#create scopes freizeit, drops mass-assignable freizeit_id
Julian Müller
vor 3 Tagen
0a1d262
policies CR-02/CR-03 — AbrechnungPolicy update?/destroy?/create_payment_link? org-gated
Julian Müller
vor 3 Tagen
e0ee58a
policies CR-01 — OrganisationPolicy#destroy? org-binds cross-tenant destruction
Julian Müller
vor 3 Tagen
cac68cd
add shared same_organisation?/authorization_organisation_id to ApplicationPolicy
Julian Müller
vor 3 Tagen
d035cfa
use hash order syntax instead of raw SQL string
Julian Müller
vor 3 Tagen
ebbf1bd
order betreuer_anwesenheiten index by Betreuer full name
Julian Müller
vor 3 Tagen
c14e6c1
add pattern map (analog files + code excerpts for read_first)
Julian Müller
vor 3 Tagen
a3c4559
finalize planning — decision-coverage + wave-dep annotations, planning complete
Julian Müller
vor 3 Tagen
5acda8a
serialize de.yml + same-file plans via depends_on (plan-checker warning)
Julian Müller
vor 3 Tagen
d102529
create phase plans (22 plans, 3 waves, hybrid) + reconcile ROADMAP
Julian Müller
vor 3 Tagen
12b4ec1
add validation strategy
Julian Müller
vor 3 Tagen
ab3ea1f
research — consolidated 256-finding backlog, systematic IDOR mechanism, AS reconciliation, 107 modal architecture, pr...
Julian Müller
vor 3 Tagen
646aaea
reconcile ROADMAP with locked CONTEXT (fix-all, hybrid, FIX-139 anchor, 107 absorbed)
Julian Müller
vor 3 Tagen
5875fee
record phase 139 context session
Julian Müller
vor 3 Tagen
b2e5aa0
capture phase context
Julian Müller
vor 3 Tagen
2cb777b
COMPLETE repo-wide review — 12 low-risk reports + aggregate INDEX
Julian Müller
vor 3 Tagen
21ecab7
SUMMARY for escalated plans 01-04 (mark done so execute-phase runs 05-16)
Julian Müller
vor 3 Tagen
91a07d0
views review report (escalated, 439 ERB) + mark escalated plans done
Julian Müller
vor 3 Tagen
05e2b05
rename reserved I18n key :format in teilnehmer_export detail
Julian Müller
vor 3 Tagen
51000f9
controllers + models review reports (escalated)
Julian Müller
vor 3 Tagen
9f70040
policies review report — 8 BLOCKER cross-org IDOR + 13 WR + 8 IN
Julian Müller
vor 3 Tagen
d5e8c0a
plan phase 138 — 16 per-module read-only review plans
Julian Müller
vor 3 Tagen
16cc6b5
insert repo-wide code-review 2-parter (search -> fix)
Julian Müller
vor 3 Tagen
94b38d4
persist human verification item as UAT + verification report
Julian Müller
vor 3 Tagen
0e1a9c6
record post-merge regression fix + code-review resolution in SUMMARY
Julian Müller
vor 3 Tagen
67c96e6
harden D-02 open-redirect coverage + fix constant leak (code-review)
Julian Müller
vor 3 Tagen
9ca1f6e
update FreizeitArchiveTest for D-04 home-redirect
Julian Müller
vor 3 Tagen
3aeb473
complete pwa-start-dashboard-login-return-to plan
Julian Müller
vor 3 Tagen
83901e8
honor login-gated return-to, dashboard PWA start_url, home-redirect for signed-in betreuer (GREEN)
Julian Müller
vor 3 Tagen
689e285
author failing tests for return-to + open-redirect + manifest + home-redirect (RED)
Julian Müller
vor 3 Tagen
a1a079d
finalize phase plan (STATE + ROADMAP annotations)
Julian Müller
vor 3 Tagen
4ce30ab
create phase plan (PWA start_url + login return-to)
Julian Müller
vor 3 Tagen
ae10a6e
seed Nyquist validation strategy
Julian Müller
vor 3 Tagen
2b0dba2
research Devise friendly-forwarding for PWA/login-return-to fix
Julian Müller
vor 3 Tagen
b6984e2
capture phase context (D-01..D-05 from inline discuss)
Julian Müller
vor 3 Tagen
535c984
insert Phase 135.9.1 (humanizer code-review follow-up) + 135.11 (pre-existing 135.6/135.7 test-cap conflict)
Julian Müller
vor 3 Tagen
f49827d
phase verification (human_needed) + advisory code review + UAT items
Julian Müller
vor 3 Tagen
3cac10d
complete wire-humanizer-into-audit-protokoll plan
Julian Müller
vor 3 Tagen
ec2473f
rendering + dangling-fallback + regression tests for AuditLogHumanizer wiring
Julian Müller
vor 3 Tagen
affe91b
humanize the 3 defect cells in audit_protokoll/index.html.erb
Julian Müller
vor 3 Tagen
2340d0b
wire AuditLogHumanizer into AuditProtokollController#index
Julian Müller
vor 3 Tagen
3ae388f
complete AuditLogHumanizer plan
Julian Müller
vor 3 Tagen
8ea2928
implement AuditLogHumanizer (two-layer resolver, batch-preload, hybrid details)
Julian Müller
vor 3 Tagen
fc634ec
add failing AuditLogHumanizer unit tests (RED)
Julian Müller
vor 3 Tagen
c6a0b69
complete audit-protokoll i18n-surface plan
Julian Müller
vor 3 Tagen
5214278
extend audit_logs i18n block with full action/target/detail labels
Julian Müller
vor 3 Tagen
26522ee
add D-05 i18n-completeness guard for AuditLog ACTION_TYPES
Julian Müller
vor 3 Tagen
c9b0edf
add pattern map (analog files + excerpts)
Julian Müller
vor 3 Tagen
ddbd2a0
finalize phase plan (STATE + ROADMAP wave annotations)
Julian Müller
vor 3 Tagen
f3e77e8
create phase plan (3 plans, 3 waves)
Julian Müller
vor 3 Tagen
1740aed
insert Phase 135.10 — PWA-Start-Redirect + Login-Return-to (Owner-Meldung, Diagnose als Context)
Julian Müller
vor 3 Tagen
a2c3aa5
add validation strategy
Julian Müller
vor 3 Tagen
d223436
research phase domain
Julian Müller
vor 3 Tagen
1c35540
record phase 135.9 context session
Julian Müller
vor 3 Tagen
fcb34b7
capture phase context
Julian Müller
vor 3 Tagen
2adbeee
scope v1.3 phases (133–137, 135.x) under Milestone 4 section
Julian Müller
vor 3 Tagen
3d079c7
insert phase — Audit-Protokoll (Betreuer-Ansicht) leserlich machen
Julian Müller
vor 3 Tagen
7e165da
FZ-Prüfung-Übersicht nach Name sortieren, inaktive/gesperrte/nicht-freigegebene Nutzer ausblenden
Julian Müller
vor 3 Tagen
126f653
complete phase — installed-PWA UAT passed (owner-confirmed in prod)
Julian Müller
vor 5 Tagen
dee5be2
add code review fix report
Julian Müller
vor 5 Tagen
3507386
document DOWNLOAD_PATH_PATTERN inline-PDF offline-shell trade-off (WR-01)
Julian Müller
vor 5 Tagen
8b83da8
persist installed-PWA UAT items (7 device checks)
Julian Müller
vor 5 Tagen
ff6faf1
verification report (human_needed) + advisory code review
Julian Müller
vor 5 Tagen
645bce7
complete FZ-Antrag standalone-PWA download fix plan
Julian Müller
vor 5 Tagen
ed9a1c9
systemic SW download-skip guard, DOWNLOAD_PATH_PATTERN re-derived
Julian Müller
vor 5 Tagen
9b449e8
add download="" to FZ-Antrag link for standalone-PWA fix
Julian Müller
vor 5 Tagen
8fa7634
add RED-by-design FZ download-attribute + no-target regression tests
Julian Müller
vor 5 Tagen
e8e508d
create phase plan (FZ download="" + systemic SW download-skip guard)
Julian Müller
vor 5 Tagen
bffee2f
research service-worker download interception fix in standalone PWA
Julian Müller
vor 5 Tagen
41c4257
insert phases 135.7 (qualification-expiry email+push default ON) + 135.8 (FZ-Antrag PWA download fix)
Julian Müller
vor 5 Tagen
0822d28
role tags + qual badges in user dropdown (PLAN + SUMMARY + STATE)
Julian Müller
vor 5 Tagen
37389fb
read-only Rollen-Tags + Qual-Badges im User-Icon-Dropdown
Julian Müller
vor 5 Tagen
8f43418
add RED-by-design header-dropdown-scoped D-06-EXT tests
Julian Müller
vor 5 Tagen
d1e07cc
cap FZ-Wiedervorlagezeitraum at 5 years (PLAN + SUMMARY + STATE)
Julian Müller
vor 5 Tagen
325b52c
lock l_fz_gueltigkeit_jahre boundary at 5 (accept 5, reject 6)
Julian Müller
vor 5 Tagen
f35bf5e
cap FZ-Wiedervorlagezeitraum bei 5 statt 10 Jahren
Julian Müller
vor 5 Tagen
f0b7605
persist 5-item owner UAT handoff + VERIFICATION; log cap-at-5 decision
Julian Müller
vor 5 Tagen
155a0c1
plan 05 regression-gate SUMMARY (green, 0 new regressions) + owner dropdown-badges follow-up note
Julian Müller
vor 5 Tagen
2c6f45d
complete read-only Rollen-Tags + Qual-Badges plan
Julian Müller
vor 6 Tagen
46324d6
D-06 Rollen-Tags + Qual-Badges + read-only-Guard + Empty-States
Julian Müller
vor 6 Tagen
6815d32
read-only Rollen-Tags + Qual-Badges auf Profil-Seite (D-06)
Julian Müller
vor 6 Tagen
dba4353
complete signature-canvas mobile-offset bugfix plan
Julian Müller
vor 6 Tagen
c591a11
aspekt-stabile Canvas-Anzeigegroesse ueber alle 6 Signatur-Oberflaechen (D-05)
Julian Müller
vor 6 Tagen
6cff7ce
HiDPI-Resize im geteilten signature-pad-Controller (D-05)
Julian Müller
vor 6 Tagen
d214074
complete FZ-Ausstellungsdatum Warn-und-Bestaetigen plan
Julian Müller
vor 6 Tagen
8dbefdb
Warnbanner + Bestaetigungs-Checkbox im FZ-Pruef-Formular (D-02 UI)
Julian Müller
vor 6 Tagen
c1fca13
FZ-Erstpruefung Warn-und-Bestaetigen-Gate bei staler Ausstellung (D-02)
Julian Müller
vor 6 Tagen
fcdf153
complete Führungszeugnis-Wiedervorlagezeitraum Owner-UI plan
Julian Müller
vor 6 Tagen
763ed38
Jahre-Feld für FZ-Wiedervorlagezeitraum im Org-FZ-Tab (D-03)
Julian Müller
vor 6 Tagen
a1f7a04
allow l_fz_gueltigkeit_jahre in FZ-Unterschrift strong-params (D-03)
Julian Müller
vor 6 Tagen
71b2382
complete Alle verbleibenden FZ-Lesestellen umgestellt plan
Julian Müller
vor 6 Tagen
9ec8618
FZ badge title reflects per-org validity years (D-01d)
Julian Müller
vor 6 Tagen
1efeb43
reminder job resolves FZ validity years per-betreuer via lambda (D-01e)
Julian Müller
vor 6 Tagen
3fb12c9
add failing test for per-org background_check crossings in reminder job (D-01e)
Julian Müller
vor 6 Tagen
ef62951
gueltig_bis resolves per-org FZ validity years (D-01c)
Julian Müller
vor 6 Tagen
c114056
add failing test for gueltig_bis per-org resolution (D-01c)
Julian Müller
vor 6 Tagen
86d6ec2
complete FZ-Wiedervorlagezeitraum Fundament plan
Julian Müller
vor 6 Tagen
efc2b26
implement background_check_validity_years SSOT-Resolver + inverse_of (D-01, TDD GREEN)
Julian Müller
vor 6 Tagen
60f62d1
add failing tests for background_check_validity_years SSOT-Resolver (D-01, TDD RED)
Julian Müller
vor 6 Tagen
4d9ad04
Organisation-Validierung + I18n-Attribut-Label fuer l_fz_gueltigkeit_jahre (D-01/D-04)
Julian Müller
vor 6 Tagen
1bdbfde
additive LIVE-sichere Migration fuer l_fz_gueltigkeit_jahre (D-01/D-04)
Julian Müller
vor 6 Tagen
76509fd
record D-06 profile badges (plan 07) + rewire regression gate 05 → wave 5 depends_on 01-04+06+07
Julian Müller
vor 6 Tagen
1d3269a
add plan 07 — read-only Rollen-Tags + Qualifikations-Badges auf Profil-Seite (D-06)
Julian Müller
vor 6 Tagen
9541a4b
record D-05 signature-canvas mobile-offset bugfix (plan 06) in CONTEXT + STATE
Julian Müller
vor 6 Tagen
bfd4597
add plan 06 — signature-canvas mobile-offset bugfix (D-05, wave 3)
Julian Müller
vor 6 Tagen
3748420
STATE — phase PLANNED (plan-checker passed), ready to execute
Julian Müller
vor 6 Tagen
ca4ad26
create phase plan (5 plans, D-01..D-04)
Julian Müller
vor 6 Tagen
64f82b0
add validation strategy (Nyquist-compliant, seeded from research)
Julian Müller
vor 6 Tagen
2415c7b
research phase domain
Julian Müller
vor 6 Tagen
8aec699
add CONTEXT (Wiedervorlagezeitraum per-Org + 3-Monats-Frische); record 135.4 gate pass
Julian Müller
vor 6 Tagen
7044e41
insert phase 135.6 — Führungszeugnis Wiedervorlagezeitraum per-Org konfigurierbar + max. 3-Monate-Gültigkeit
Julian Müller
vor 6 Tagen
028d191
add plan 02/03/04 SUMMARYs, sync STATE (phase code-complete, UAT pending)
Julian Müller
vor 6 Tagen
c965c9c
enable claude_orchestration (BETA) pinned to inline backend
Julian Müller
vor 6 Tagen
9c63241
insert phase 135.5 — transparent, non-fakeable AuditLog immutability check for Betreuer
Julian Müller
vor 6 Tagen
622b7f1
add Sicherheit audit-trail dashboard tile (D-03)
Julian Müller
vor 6 Tagen
2e6ce60
audit-protokoll view + de.yml keys, expose visible_action_types (D-07/D-08)
Julian Müller
vor 6 Tagen
f0dd38d
audit-protokoll route + controller (org-scope, role whitelist, IDOR guard, breadcrumbs)
Julian Müller
vor 6 Tagen
9c024a7
create AuditProtokollPolicy default-deny access gate
Julian Müller
vor 6 Tagen
782f22b
add AuditLog.for_organisation org-scoping scope
Julian Müller
vor 6 Tagen
17cb004
RED controller test — auth gate + org-scope + role whitelist + read-only (D-01/D-06/D-07/D-08)
Julian Müller
vor 6 Tagen
8b9b4e4
RED model-scope test — org isolation + null-user inclusion (D-04/D-05)
Julian Müller
vor 6 Tagen
9d7c36f
RED policy test — default-deny + allow matrix (D-01)
Julian Müller
vor 6 Tagen
010ff14
record planning completion (4 plans, wave-deps, Nyquist)
Julian Müller
vor 6 Tagen
f9f6ca4
create phase plan — 4 plans (read-only org-scoped audit trail)
Julian Müller
vor 6 Tagen
fb50fc3
research phase domain (audit-log trail read-only view)
Julian Müller
vor 6 Tagen
6245893
record phase 135.4 context session
Julian Müller
vor 6 Tagen
f719330
capture phase context (discuss-phase)
Julian Müller
vor 6 Tagen
dc3e72f
summary + state/roadmap (FZ edit-umzug + dashboard-tile-gating, phase code-complete)
Julian Müller
vor 6 Tagen
e00754c
update Plan-07 FZ nav test for dashboard-tile-gating
Julian Müller
vor 6 Tagen
9c33702
insert phase — Audit-Log-Trail Read-Only-Ansicht für Admins + Kinderschutzbeauftragte
Julian Müller
vor 6 Tagen
6d7de62
role-gated Sicherheit dashboard tile + remove Plan-07 header entry
Julian Müller
vor 6 Tagen
f988553
FZ params rejected, Juleica/EH still update, FZ badge intact
Julian Müller
vor 6 Tagen
fe3d6e2
strip FZ column from edit_juleica + shorten juleica_params
Julian Müller
vor 6 Tagen
25ff1c8
CLAUDE.md module-navigation rule (dashboard-tile-gating, no header entries) + amend 135.3-08 (add role-gated dashboar...
Julian Müller
vor 6 Tagen
5ed04d2
summary + tracking (module UI + role-gated nav + breadcrumbs)
Julian Müller
vor 6 Tagen
7c6879d
role-gated nav entry for the FZ-Pruefung module (Task 3)
Julian Müller
vor 6 Tagen
4a0dcf5
state-aware no-upload Pruef-Formular (Task 2)
Julian Müller
vor 6 Tagen
328e74e
index.html.erb — expiry-status badges + icon CTA (Task 1)
Julian Müller
vor 6 Tagen
e3ad241
summary + tracking (controller + routes + audit; overview list-scope)
Julian Müller
vor 6 Tagen
0c0a462
controller test GREEN — access, self-exclusion, IDOR/cross-org, audit (Task 3)
Julian Müller
vor 6 Tagen
7ddc2e3
create/freigeben/ablehnen — server-derived ids, AASM events, audit in transaction (Task 2)
Julian Müller
vor 6 Tagen
8a6d231
routes + AuditLog whitelist + self-excluded overview/new (Task 1)
Julian Müller
vor 6 Tagen
dea80a5
summary + tracking (FuehrungszeugnisPruefungPolicy — self-exclusion layer 2)
Julian Müller
vor 6 Tagen
cb9b639
policy test GREEN — role-gate + owner-bypass + self-exclusion + relation_scope
Julian Müller
vor 6 Tagen
f1a1e56
FuehrungszeugnisPruefungPolicy — role-gate + owner bypass + self-exclusion + relation_scope
Julian Müller
vor 6 Tagen
2c8d66b
summary + tracking (FuehrungszeugnisPruefung model + AASM 4-Augen guard)
Julian Müller
vor 6 Tagen
d25886f
de.yml activerecord keys + model test GREEN (guard matrix + stamp-through)
Julian Müller
vor 6 Tagen
16aede9
FuehrungszeugnisPruefung model — AASM 4-Augen guard + stamp-through
Julian Müller
vor 6 Tagen
0191028
create fuehrungszeugnis_pruefungen table (inflection first)
Julian Müller
vor 6 Tagen
f997891
summary + tracking (6-site retrofit; fixture gap auto-fixed)
Julian Müller
vor 6 Tagen
e5f9ec0
summary — 6-site str_system_key retrofit complete
Julian Müller
vor 6 Tagen
416e28e
retrofit 3 RESEARCH-discovered KB-role sites to str_system_key
Julian Müller
vor 6 Tagen
0edb630
retrofit 3 CONTEXT-named KB-role sites to str_system_key
Julian Müller
vor 6 Tagen
27ad569
summary + tracking (str_system_key SSOT + backfill); blocker cleared
Julian Müller
vor 6 Tagen
128afa2
rolle_test coverage — seed-key, custom-NULL, backfill idempotency, strong-params guard
Julian Müller
vor 6 Tagen
c6b04a8
DEFAULT_ROLES system_key SSOT + seeder + idempotent reversible backfill
Julian Müller
vor 6 Tagen
7ebcde0
record disk-full blocker mid-Wave-1 (host C: 100% full, ~332MB free)
Julian Müller
vor 7 Tagen
63b1e23
additive nullable str_system_key column on rollen (reversible, prod-safe)
Julian Müller
vor 7 Tagen
9bd83ab
summary + tracking (Wave 0 RED scaffolds)
Julian Müller
vor 7 Tagen
ac070e1
controller RED scaffold — route/authorize/redirect + IDOR + audit
Julian Müller
vor 7 Tagen
c35fa06
policy RED scaffold — role-gate + self-exclusion + owner-bypass
Julian Müller
vor 7 Tagen
f868269
model RED scaffold — AASM 4-Augen guard matrix + stamp-through
Julian Müller
vor 7 Tagen
a22370f
create phase plan — 8 plans (str_system_key root-cause + 4-Augen FZ-Prüfung module)
Julian Müller
vor 7 Tagen
34b7747
pattern map (25 files, beschwerde_eingang precedent, 6-site retrofit)
Julian Müller
vor 7 Tagen
1610cf3
Nyquist validation strategy (4-Augen guard matrix + 6-site retrofit gate)
Julian Müller
vor 7 Tagen
4a49a25
research phase domain (4-Augen FZ-Pruefung, str_system_key retrofit)
Julian Müller
vor 7 Tagen
3d9d586
smart-discuss context (4-Augen FZ-Prüfung module) — owner decisions locked
Julian Müller
vor 7 Tagen
fa6df91
summary + UAT round-2 closeout (umlauts + download no-store)
Julian Müller
vor 7 Tagen
40953eb
render real umlauts/ß in Bescheinigung PDF (drop needless transliteration)
Julian Müller
vor 7 Tagen
2c305e0
no-store on Fuehrungszeugnis download so profile edits show immediately
Julian Müller
vor 7 Tagen
0c13519
rendered-HTML Turbo-download regression + profile-persist + SEC-F1 guard
Julian Müller
vor 7 Tagen
18108f8
Turbo-bypassed download link + header menu entry (GAP-1/GAP-4/GAP-5)
Julian Müller
vor 7 Tagen
93659f7
auto-fill Geburtsort/Anrede/taetig-seit on Profil form (GAP-2)
Julian Müller
vor 7 Tagen
99814cf
summary + tracking for org-altersspanne gap-closure plan
Julian Müller
vor 7 Tagen
af7a0af
PDF reads altersspanne from the org, blank-safe; drop per-download param
Julian Müller
vor 7 Tagen
adfc9b1
additive altersspanne column + owner Führungszeugnis-tab setting
Julian Müller
vor 7 Tagen
26a883a
annotate ROADMAP wave dependencies for gap-closure plans
Julian Müller
vor 7 Tagen
22f3063
plan UAT-round1 gap-closure (06 org-altersspanne/PDF, 07 download-fix/auto-fill/menu)
Julian Müller
vor 7 Tagen
1e7c0ae
lock owner decisions for UAT gap-closure (auto-fill, org-level altersspanne, menu entry)
Julian Müller
vor 7 Tagen
76da5f3
UAT round-1 gaps — download bug (Turbo) + Surface B simplification feedback
Julian Müller
vor 7 Tagen
b143b8c
Fuehrungszeugnis-Antrag page (blocked/missing-fields/signature/download) + Profil entry card
Julian Müller
vor 7 Tagen
db208ca
self-only Betreuer Fuehrungszeugnis actions + id-less routes
Julian Müller
vor 7 Tagen
30b5b65
complete Owner Fuehrungszeugnis signature plan (leftover session state)
Julian Müller
vor 7 Tagen
0f1c589
Führungszeugnis Org-tab — owner form + non-owner read-only card
Julian Müller
vor 7 Tagen
bb59f87
signature_pad empty-canvas guard uses global toast, not native alert
Julian Müller
vor 7 Tagen
abc7288
owner-only Führungszeugnis signature policy + nested controller + route
Julian Müller
vor 7 Tagen
aa27041
complete Fuehrungszeugnis-Bescheinigung-PDF plan
Julian Müller
vor 7 Tagen
ddd4928
add plan summary — Fuehrungszeugnis PDF generator
Julian Müller
vor 7 Tagen
4d33a00
two signature blocks (Owner + Betreuer) + optional Stempel
Julian Müller
vor 7 Tagen
396f1d2
PDF body — absender, Ort/Datum, Titel, legal body substitution
Julian Müller
vor 7 Tagen
21031ac
complete Datenmodell plan (migrations, attachments, i18n)
Julian Müller
vor 7 Tagen
012d9a8
insert phase seed — Führungszeugnis-Prüfung (4-Augen), pending discuss
Julian Müller
vor 7 Tagen
0e46946
i18n attribute keys + str_city in the Betreuer profile form
Julian Müller
vor 7 Tagen
ff09e70
demo-shard-safe signature/stempel attachments
Julian Müller
vor 7 Tagen
dcc724e
additive reversible migrations for Fuehrungszeugnis fields
Julian Müller
vor 7 Tagen
f60d347
complete Wave 0 RED test scaffolds plan
Julian Müller
vor 7 Tagen
3200d02
RED scaffold — self-only Betreuer download (IDOR guard)
Julian Müller
vor 7 Tagen
9e24be1
RED scaffold — owner-only org-signature policy + controller
Julian Müller
vor 7 Tagen
55ca302
RED scaffold — FuehrungszeugnisBescheinigungPdf unit test
Julian Müller
vor 7 Tagen
6d15bfc
confirm owner defaults — no paket-gating, live-render PDF (no audit-trail)
Julian Müller
vor 7 Tagen
087f831
record planning complete in STATE (5 plans, ready to execute)
Julian Müller
vor 7 Tagen
3202992
create phase plan (5 plans, 4 waves) — Führungszeugnis-Bescheinigung-Generator
Julian Müller
vor 7 Tagen
fe6d8aa
resolve Betreuer-signature placement (bottom, above name)
Julian Müller
vor 7 Tagen
861dc64
insert phase + CONTEXT/VALIDATION/UI-SPEC (Führungszeugnis-Antrag-Generator)
Julian Müller
vor 7 Tagen
093bc08
research Führungszeugnis-Antrag-Generator phase
Julian Müller
vor 7 Tagen
8410f87
persist human verification items as UAT (visual UAT + prod boot)
Julian Müller
vor 14 Tagen
0bf6547
phase verification — 7/7 must-haves, human_needed (visual UAT + prod boot)
Julian Müller
vor 14 Tagen
1ffd764
SUMMARY + tracking — Wave 2 legacy consolidation + phase gate
Julian Müller
vor 14 Tagen
9570726
migrate remaining 6 non-admin legacy pagy_nav sites
Julian Müller
vor 14 Tagen
e589423
migrate 6 admin_panel legacy pagy_nav sites to shared partial
Julian Müller
vor 14 Tagen
ead81fd
SUMMARY + tracking — Wave 1 core migration landed
Julian Müller
vor 14 Tagen
62ca7a5
add pagy_series helper, migrate shared partial to v43 public API
Julian Müller
vor 14 Tagen
f97c298
migrate both controllers to Pagy::Method + Pagy::OPTIONS
Julian Müller
vor 14 Tagen
b0d1efe
bump pagy 9.4.0 -> 43.5.6, migrate initializer + application_helper
Julian Müller
vor 14 Tagen
65200bf
SUMMARY + tracking — Wave 0 RED scaffolds landed
Julian Müller
vor 14 Tagen
5f537f3
add pagy-config guard test + teilnehmers aria-current/page-link assertions (Task 2)
Julian Müller
vor 14 Tagen
386f869
add failing pagy_series helper unit test (Task 1)
Julian Müller
vor 14 Tagen
ad9a9eb
mark planned — 3 plans, wave deps annotated
Julian Müller
vor 14 Tagen
4b1bc24
revision 1 — resolve 2 checker warnings (verification_derivation + research_resolution)
Julian Müller
vor 15 Tagen
4af8aa1
create phase plan — pagy 9→43 migration (3 plans, 3 waves)
Julian Müller
vor 15 Tagen
b6605a4
research pagy 9->43 migration — ported series algorithm (Option c), OPTIONS.freeze boot-crash pitfall, 12-site consol...
Julian Müller
vor 15 Tagen
442f4d1
mark phase complete — 9/10 landed, pagy deferred to 135.1
Julian Müller
vor 15 Tagen
5c0f79f
waves 6-10 SUMMARYs; defer pagy → insert Phase 135.1 (research-first)
Julian Müller
vor 15 Tagen
64ba9b8
devise 4.9 → 5.0.4 (+2 CVEs, secret-key verified) [DEVISE-01]
Julian Müller
vor 15 Tagen
5d21c0f
puma 7 → 8.0.2 (single-worker + explicit 0.0.0.0 bind preserved) [PUMA-01]
Julian Müller
vor 15 Tagen
75d6f69
add SEO-Blogartikel phase from Google Search Console queries
Julian Müller
vor 15 Tagen
6c77cea
add Ruby 3.3.7 → 3.4.x runtime-upgrade phase (deferred from 135; not 4.0)
Julian Müller
vor 15 Tagen
5b1ca67
solid_cable 3 → 4.0.0 (async gate intact) [CABLE-01]
Julian Müller
vor 15 Tagen
5b8ba1d
aasm 5 -> 6.0.0 [AASM-01]
Julian Müller
vor 15 Tagen
a9f62de
SUMMARYs + STATE for waves 1-5 (security + safe batch + rails/rubyzip/stripe)
Julian Müller
vor 15 Tagen
cd44635
stripe 18 -> 19.3.0 [STRIPE-01]
Julian Müller
vor 15 Tagen
cc09f62
rubyzip 3.2 -> 3.4.1 [ZIP-01]
Julian Müller
vor 15 Tagen
4988286
rails 8.0.3 -> 8.1.x framework upgrade [RAILS-01]
Julian Müller
vor 15 Tagen
e61d487
safe patch/minor batch — bootsnap, nokogiri, brakeman, selenium-webdriver, rubocop(+rails), tailwindcss(-rails/-ruby)...
Julian Müller
vor 15 Tagen
c3653b4
security advisories — rack 3.2.6, rack-session 2.1.2, view_component 4.12.0 [SEC-01,SEC-02]
Julian Müller
vor 15 Tagen
03dde1a
lock scope context + full outdated list
Julian Müller
vor 15 Tagen
878cf1e
create phase plan — 10 risk-ascending dependency-bump plans (security-first, each major isolated)
Julian Müller
vor 15 Tagen
b78df2b
research phase domain — dependency updates & security advisories
Julian Müller
vor 15 Tagen
7d7365c
insert Dependency Updates & Security Advisories phase
Julian Müller
vor 15 Tagen
bf11a73
persist v1.3 progress after Phase 132 close
Julian Müller
vor 15 Tagen
37695dd
encrypted creds file
Julian Müller
vor 15 Tagen
62dce8b
VERIFICATION passed — close phase (changelog CSP fix)
Julian Müller
vor 15 Tagen
93d63f4
plan summaries + mark plans complete (changelog CSP fix)
Julian Müller
vor 15 Tagen
18da6c8
integrate backlog 999.4/999.5/999.8 into phases, retire from backlog
Julian Müller
vor 15 Tagen
5232a9b
add phases from external AI compliance evaluation
Julian Müller
vor 15 Tagen
7e346f9
render_graph_cell emits class= instead of style= (CSP fix)
Julian Müller
vor 15 Tagen
e430112
add CSP-safe graph-* CSS classes for changelog git-graph
Julian Müller
vor 15 Tagen
4e98bc6
RED system test — commit dot computed-style position guard
Julian Müller
vor 15 Tagen
8107419
RED helper unit test — graph-* classes + D11 bounded-integer guard
Julian Müller
vor 15 Tagen
ba46536
RED integration test — zero inline style= in changelog graph
Julian Müller
vor 15 Tagen
70bde0c
add research + validation strategy (CSP git-graph fix)
Julian Müller
vor 15 Tagen
359dae4
create phase plan (CSP git-graph fix — 2 plans)
Julian Müller
vor 15 Tagen
795db6a
start milestone v1.3 Cleanup & Fixes
Julian Müller
vor 15 Tagen
3348ee9
slim STATE.md, archive historical narrative (165KB→19KB)
Julian Müller
vor 15 Tagen
eadd585
collapse shipped v1.2 phase detail (210KB→7KB)
Julian Müller
vor 15 Tagen
5ec0ab4
mark milestone CLOSED as v1.2 (correcting the v1.1 misnomer)
Julian Müller
vor 15 Tagen
864d321
archive v1.2 milestone (Feature Growth & Hardening)
Julian Müller
vor 15 Tagen
6ca6f70
reconcile VERIFICATION/SUMMARY for committed fixes (v1.2 close)
Julian Müller
vor 15 Tagen
c83de2f
full-suite regression gate PASSED (only 10 known pre-existing failures)
Julian Müller
vor 16 Tagen
e9388a1
all 14 UATs closed; full-suite gate next
Julian Müller
vor 16 Tagen
9c1952c
UAT passed — public picker + re-open code flow live-verified
Julian Müller
vor 16 Tagen
d6b35cb
UAT passed — dropdown a11y + avatars live, collision logic green
Julian Müller
vor 16 Tagen
32fbbd5
UAT passed — 4/4 live tier-gating checkpoints
Julian Müller
vor 16 Tagen
48e2a30
UAT passed — 4/4 live browser checkpoints on Freizeiten tab
Julian Müller
vor 16 Tagen
5c97946
10/14 UATs closed (116,128,119 passed); remaining 88.1,73,67,97
Julian Müller
vor 16 Tagen
9721849
UAT passed — live 2FA/grant/email/throttle walkthrough + 65/65 green integration suite
Julian Müller
vor 16 Tagen
227520f
UAT passed — all 8 live browser checkpoints confirmed on KV#3
Julian Müller
vor 16 Tagen
4a4145d
UAT passed — targeted integration suite green (39/39) closes verifier open item
Julian Müller
vor 16 Tagen
4a5c6f3
refresh v1.1 resume doc — 7/14 UATs closed, auto-mode, pre-compact checkpoint
Julian Müller
vor 16 Tagen
290f851
owner auto-UAT passed — turbo-frame pagination + cookie + no-scroll-jump verified live
Julian Müller
vor 16 Tagen
e90d97d
109 guest-token redirect fix + close 109 UAT (passed)
Julian Müller
vor 16 Tagen
3ae6903
preserve guest token in Gaesteliste create/update redirects
Julian Müller
vor 16 Tagen
0fe3489
dev-DB test records need no cleanup (owner 2026-07-05); strict no-demo rule stays for LIVE/prod only
Julian Müller
vor 16 Tagen
db29658
owner-accepted (auto-UAT) — freizeit-edit UX + Ausstehend NULL-fix verified live
Julian Müller
vor 16 Tagen
26312ce
record full-suite regression gate + G2 test fix
Julian Müller
vor 16 Tagen
50aadac
update notifications integration test for G2 grant-escalation
Julian Müller
vor 16 Tagen
d9a9603
owner UAT passed — G1 + G2 accepted, phase verification passed
Julian Müller
vor 16 Tagen
cebd001
drop 'Audit- und Verlauf-Eintrag' from escalation confirm modals (owner UAT)
Julian Müller
vor 16 Tagen
36082db
SUMMARY — G1/G2 built + targeted-tested, Task 3 human-verify pending (blocking)
Julian Müller
vor 16 Tagen
bc81c9a
G2 — granting access escalates the Vorgang idempotently + awareness modal
Julian Müller
vor 16 Tagen
7d4db5f
G1 — in-app confirm gate for crisis escalation + success toast
Julian Müller
vor 16 Tagen
d797ae6
gap-closure plan 118-03 — G1 escalate confirm-modal + G2 grant-escalates
Julian Müller
vor 16 Tagen
16a0943
118 gaps_found — escalation UAT + owner decisions
Julian Müller
vor 16 Tagen
befdee1
owner sign-off closes 94 (live), 95 (accepted), 110 (prod-deferred)
Julian Müller
vor 16 Tagen
04ea491
add v1.1 milestone-close resume/entry-point doc
Julian Müller
vor 16 Tagen
5550e82
reconcile 90.1 (gaps closed by 131) + stale Plans:TBD entries
Julian Müller
vor 16 Tagen
a47b53c
reconcile verification debt — wave 4 (126-130), sweep complete
Julian Müller
vor 16 Tagen
afd14bc
reconcile verification debt — wave 3 (119-125)
Julian Müller
vor 16 Tagen
58217e9
reconcile verification debt — wave 2 (113-118)
Julian Müller
vor 16 Tagen
92a00c5
reconcile verification debt — wave 1 (103, 108.2, 109-112)
Julian Müller
vor 16 Tagen
206c7d6
reconcile stale phase status — 103.1 + 121 were done, marked TBD
Julian Müller
vor 16 Tagen
034fb8f
phase complete — VERIFICATION passed (6/6), tracking updated
Julian Müller
vor 16 Tagen
f42c7d4
bring STATE.md up to speed — Phase 131 executed
Julian Müller
vor 16 Tagen
86bde88
track phase .gitkeep placeholders, gitignore research cache
Julian Müller
vor 16 Tagen
8ee37fb
update tracking — plan 131-01 complete
Julian Müller
vor 16 Tagen
c38c011
update verzug fixture-sanity test for WR-02 marker
Julian Müller
vor 16 Tagen
a0cc084
merge executor worktree (worktree-agent-ae98429adf62bae36)
Julian Müller
vor 16 Tagen
0fabd17
append self-check result to SUMMARY.md
Julian Müller
vor 16 Tagen
2b0fd9b
plan complete — SUMMARY.md (WR-01/WR-02 lock-moment copy + warn-before-lock)
Julian Müller
vor 16 Tagen
3ff4d52
regression tests for WR-02 boundary (both directions) + WR-01 copy
Julian Müller
vor 16 Tagen
7caafb9
WR-02 guarantee warn-before-lock (gate lock on prior-run pre-warning)
Julian Müller
vor 16 Tagen
799b811
WR-01 add present-tense verzug_gesperrt notification copy
Julian Müller
vor 16 Tagen
5fb875a
fix Task 1 de.yml duplicate-parent acceptance check (scoped structural assertion)
Julian Müller
vor 16 Tagen
45b1c62
create phase plan — WR-01 lock-moment copy + WR-02 warn-before-lock
Julian Müller
vor 16 Tagen
011ceb8
@ docs(108.1): validation strategy + summary + ROADMAP status COMPLETE Co-Authored-By: Claude Opus 4.8 (1M context) ...
Julian Müller
vor 17 Tagen
ef67f4c
@ fix(108.1): close F1 privilege-escalation — drop :str_permission from self-service params A logged-in Betreuer cou...
Julian Müller
vor 17 Tagen
22e0194
research F1 privilege-escalation fix + sibling mass-assignment sweep
Julian Müller
vor 17 Tagen
d43ed64
@ docs(89,90.1): reconcile VERIFICATION.md status to match UAT triage - 89: human_needed -> passed (all 3 human item...
Julian Müller
vor 17 Tagen
905f784
@ docs(100): reconcile the richer 100-UAT.md too (13 tests) — 11 passed, 2 browser The 100 phase has two UAT files; ...
Julian Müller
vor 17 Tagen
7556816
@ docs: reconcile UAT debt (89/98.2/100 stale, 90.1 real) + queue Phase 131 Subagent investigation of the 4 audit-ua...
Julian Müller
vor 17 Tagen
3676493
@ docs(98.2): reconcile UAT — G-1 resolved, flip gaps_found -> partial The blocking gap G-1 (stacked cards -> single...
Julian Müller
vor 17 Tagen
eedb5bd
@ docs(116): reconcile — add SUMMARY for already-live override, mark implemented Phase 116 (audit-logged Ausgang val...
Julian Müller
vor 17 Tagen
fee641b
@ fix(116): shorten Ausgang-Override button label to "Trotzdem freigeben" The override_freigeben i18n key (used by b...
Julian Müller
vor 17 Tagen
a255358
@ docs(120): reconcile analysis phase — add per-plan summaries, mark COMPLETE Phase 120 is an analysis-only swarm sw...
Julian Müller
vor 17 Tagen
616a7cb
@ docs(129-07): close F-14 checkpoint (owner decision = hide), defer UX to backlog 999.38 - 129-07-SUMMARY: record F...
Julian Müller
vor 17 Tagen
7cdec46
summaries + ROADMAP status; Phase 130 rescoped to stats-gate (IndexNow reverted)
Julian Müller
vor 17 Tagen
a4dbdc7
Revert "feat(130-01): add IndexNowService + IndexNowPingJob (async, fail-open)" This reverts commit 99708dde26a303d0...
Julian Müller
vor 17 Tagen
65c823a
Revert "feat(130-01): ping IndexNow on BlogPost publish/public-content change" This reverts commit 543ed2835d1c31e71...
Julian Müller
vor 17 Tagen
33a912d
Revert "docs(130-01): add IndexNow owner setup runbook" This reverts commit 15d6abc76d821bbf86547d3df5f73281dbe4090f.
Julian Müller
vor 17 Tagen
3cebc9a
gate landing stats section behind >10 organisations
Julian Müller
vor 17 Tagen
438bd8b
add IndexNow owner setup runbook
Julian Müller
vor 17 Tagen
15d6abc
ping IndexNow on BlogPost publish/public-content change
Julian Müller
vor 17 Tagen
543ed28
add IndexNowService + IndexNowPingJob (async, fail-open)
Julian Müller
vor 17 Tagen
99708dd
F-14 hide read-denied KrisenVorgänge from index (owner decision)
Julian Müller
vor 17 Tagen
eb1da1f
early-theme inline script uses real CSP nonce, not literal 'true'
Julian Müller
vor 17 Tagen
a1b9469
i18n+style Nachtwachen forms, meaningful titles, Gästeliste breadcrumbs (F-13/F-21/F-20)
Julian Müller
vor 17 Tagen
ccb92d7
honest KV timeline creator label + German relative-time plurals
Julian Müller
vor 17 Tagen
4e8db0c
dedupe step-note form ids + raise sidebar touch targets on KV show (F-16, F-19)
Julian Müller
vor 17 Tagen
63e35de
add client-side required to feedback category + password-reset email (F-18)
Julian Müller
vor 17 Tagen
4ed18c4
import_settings HTML nav returns 404 not raw 500 (F-22)
Julian Müller
vor 17 Tagen
401854c
serve /favicon.ico + link it (F-23); F-09 verified no-op
Julian Müller
vor 17 Tagen
4bb1083
guard demo clone terminal-fail (F-10) + kuechendienst /new removal (F-12)
Julian Müller
vor 17 Tagen
bf44250
remove orphan kuechendienst /new route + scaffold view (F-12)
Julian Müller
vor 17 Tagen
62b8d08
terminal-fail demo clone job on missing template — no retry storm (F-10)
Julian Müller
vor 17 Tagen
2d85687
regression guard for F-14 KrisenVorgang index ACL leak
Julian Müller
vor 17 Tagen
5506ee1
stop KrisenVorgang index leaking guideline category on locked cards (F-14)
Julian Müller
vor 17 Tagen
ac78705
plans+summaries for 128/129, register Phase 130 (IndexNow + stats-gate)
Julian Müller
vor 17 Tagen
b74f0d2
assert only the current step is actionable in the rendered page
Julian Müller
vor 17 Tagen
f9a9779
current-step card on top, read-only steps overview below
Julian Müller
vor 17 Tagen
a8cbd98
reject step notes targeting a non-current step server-side
Julian Müller
vor 17 Tagen
ff94f0b
add server-gate tests for non-current step notes/complete/skip
Julian Müller
vor 17 Tagen
5603c4f
add KrisenVorgangSchritt#current?, delegate actionable? to it
Julian Müller
vor 17 Tagen
9c938c2
add failing tests for KrisenVorgangSchritt#current?
Julian Müller
vor 17 Tagen
ba1b45a
register KrisenVorgang step-workflow phase + Phase-120 leftovers bundle
Julian Müller
vor 17 Tagen
5eaa166
decouple Betreuer per-page default from mutable Pagy global
Julian Müller
vor 18 Tagen
a267979
capture freizeit-edit UX + ausstehend count summary + checkpoint items
Julian Müller
vor 18 Tagen
164fa68
Freizeit-edit UX cleanup — collapse modules, drop org box, checkbox betreuer list
Julian Müller
vor 18 Tagen
48eb1a2
add failing tests for Freizeit-edit UX cleanup
Julian Müller
vor 18 Tagen
5999711
count NULL-released betreuer as Ausstehend
Julian Müller
vor 18 Tagen
2038efd
add failing test for Ausstehend NULL-released count
Julian Müller
vor 18 Tagen
ac90b44
126 summary + checkpoint items + 127 plan
Julian Müller
vor 18 Tagen
be4ace5
Betreuer-Rollen Scroll-to-Top via scroll-restore Stimulus
Julian Müller
vor 18 Tagen
dd4f271
teilnehmers pagination als scoped opt-in turbo-frame
Julian Müller
vor 18 Tagen
f980d7c
default 40, options [40,80,120], cookie-aware pagy_per_page
Julian Müller
vor 18 Tagen
76abc18
125 summary + 126 plan + register phase 127 (freizeit-edit UX + ausstehend count)
Julian Müller
vor 18 Tagen
512ff82
dev mailer port 3000 -> 4000; named demo-template-missing error
Julian Müller
vor 18 Tagen
2c450dd
add dev:reseed convenience task materializing demo template
Julian Müller
vor 18 Tagen
0e0cec3
seed PaketModulZuweisung matrix idempotently in dev seed path
Julian Müller
vor 18 Tagen
88139d3
register merged pagination-UX + rollen-scroll phase (default 40, turbo-frame, per-page cookie)
Julian Müller
vor 18 Tagen
22e6ddb
capture ausleih authorize fix summary
Julian Müller
vor 18 Tagen
00ad19d
regression cover ausleih new/create authorize fix (F-120-05)
Julian Müller
vor 18 Tagen
dee0f85
authorize freizeit-bound instance for ausleih collection actions
Julian Müller
vor 18 Tagen
060b8ab
capture ausgeh/an-abreise fixes summary
Julian Müller
vor 18 Tagen
ee0b2a1
explain empty Teilnehmer dropdown on single-Ausgang new form (F-120-11)
Julian Müller
vor 18 Tagen
9ce2b1f
allow owner/freizeit-member to delete Vorgänge (F-120-04)
Julian Müller
vor 18 Tagen
35ab8f7
repair an_abreise edit view malformed render (F-120-03)
Julian Müller
vor 18 Tagen
d2b97b3
capture pagination+filter robustness summary
Julian Müller
vor 18 Tagen
a2716d1
regression tests for filter+page-size 500 and honest selector
Julian Müller
vor 18 Tagen
1884efd
guard non-hash params[:q] before dig/ransack in index
Julian Müller
vor 18 Tagen
c241e05
nested q[...] hidden fields + honest per-page selector
Julian Müller
vor 18 Tagen
6754c38
capture 2FA template fix summary
Julian Müller
vor 18 Tagen
40ebb19
render verifizieren from verify_form (F-120-01)
Julian Müller
vor 18 Tagen
8a8130f
add failing GET verify_form render spec (F-120-01)
Julian Müller
vor 18 Tagen
d126785
fix-phase plans from verified Phase-120 findings
Julian Müller
vor 18 Tagen
bb6adef
register Phase-120 follow-up fix phases + contexts
Julian Müller
vor 18 Tagen
ad491ce
FINDINGS report — browser swarm surfaced 23 findings (3 critical)
Julian Müller
vor 18 Tagen
419f9b4
swarm plan — 8-area workability sweep + light concurrency + findings synthesis
Julian Müller
vor 18 Tagen
2b45050
assert invite link path 'krisenzugang' (route renamed from krisen-extern)
Julian Müller
vor 18 Tagen
9794ee0
capture read-only view + security matrix summary + UAT steps
Julian Müller
vor 18 Tagen
0899a96
end-to-end security integration test for external access flow
Julian Müller
vor 18 Tagen
0736784
read-only external Vorgang view + Verlauf partial + minimal layout + i18n
Julian Müller
vor 18 Tagen
5908ab0
read-only external show action + session-freshness gate + audit
Julian Müller
vor 18 Tagen
05a2f6a
capture 2FA session-code flow summary + UAT steps
Julian Müller
vor 18 Tagen
fbf869d
rate-limit + PII log filter + i18n for the 2FA code gate
Julian Müller
vor 18 Tagen
bf6e1bb
public 2FA controller + routes + code mailer + views
Julian Müller
vor 18 Tagen
b60e996
add 2FA session-code lifecycle to grant model
Julian Müller
vor 18 Tagen
b089c61
capture extern-access model/grant summary + UAT steps
Julian Müller
vor 18 Tagen
59dd4cf
link-only invitation mailer + KSB/Owner grant UI + i18n
Julian Müller
vor 18 Tagen
5411111
KSB/Owner-only external-access grant policy + controller + routes
Julian Müller
vor 18 Tagen
c4d8135
external-access model, migration + audit actor relaxation
Julian Müller
vor 18 Tagen
ab6444d
capture escalation+timeline summary + checkpoint Q1-Q3
Julian Müller
vor 18 Tagen
32e3958
Verlauf-Timeline inkl. Audit-Events + Rendering in beiden Views
Julian Müller
vor 18 Tagen
4c36a16
Eskalation wirkt real — Audit + KSB-Notification, idempotent
Julian Müller
vor 18 Tagen
71eaf80
capture step-notes summary + UAT items
Julian Müller
vor 18 Tagen
9da01fd
step-scoped note form + display, IDOR-safe binding
Julian Müller
vor 18 Tagen
413eaf8
bind KrisenVorgangNotiz optionally to a KrisenVorgangSchritt
Julian Müller
vor 18 Tagen
046cd31
capture pagination fix summary + UAT items
Julian Müller
vor 18 Tagen
bff1218
style(117-01): center pagination nav, keep dark-* theme tokens - Restructure the shared pagination container: mobile...
Julian Müller
vor 18 Tagen
07e2460
repair per-page selector root cause + lock backend contract
Julian Müller
vor 18 Tagen
51a4c12
plans for pagination/KrisenVorgang/external-2FA + insert phase 120 (browser swarm)
Julian Müller
vor 18 Tagen
1ffc9c4
update plan contract for group-rule override scope extension
Julian Müller
vor 18 Tagen
dafb2cf
restore scoped Ausgeh override button + i18n + DEBT note
Julian Müller
vor 18 Tagen
1ed3775
wire audited Ausgeh override in creator + single controller
Julian Müller
vor 18 Tagen
4d2613d
insert phases — pagination fix, KrisenVorgang friction, external 2FA access
Julian Müller
vor 18 Tagen
fb5034d
conditional Ausgeh domain-validation override + audit action type
Julian Müller
vor 18 Tagen
1c0d6c1
finalize checkpoint SUMMARYs for 110-02/110-04/111-02/112-01/114-04 (UAT approved / prod-deploy pending)
Julian Müller
vor 18 Tagen
7f3465e
create phase plan (audit-logged Ausgang validation override)
Julian Müller
vor 18 Tagen
f124910
insert phase — restore Ausgang validation override (audit-logged, real)
Julian Müller
vor 18 Tagen
facae66
add plan SUMMARY (DEBT-register reconciliation)
Julian Müller
vor 18 Tagen
57ef7af
reconcile DEBT.md against phases 108.2–114 outcomes
Julian Müller
vor 18 Tagen
363bfab
create phase plan — DEBT-register reconciliation (1 plan, docs-only)
Julian Müller
vor 18 Tagen
271613f
extract generate_qr into Freizeit::QrCodeService
Julian Müller
vor 18 Tagen
6227e57
lock generate_qr QR contract with characterization tests
Julian Müller
vor 18 Tagen
09e1d37
complete coverage-measurement + test-gap plan (D17/D18)
Julian Müller
vor 18 Tagen
fdfb779
cover AdminPanel::LogsController security paths (D18)
Julian Müller
vor 18 Tagen
394c4ab
add QuizAnswer + QuizRound model tests (D18)
Julian Müller
vor 18 Tagen
9fb3fb1
wire SimpleCov measurement-only via .simplecov (D17)
Julian Müller
vor 18 Tagen
d9619f2
complete table-name cleanup + html_safe/rescue justification plan
Julian Müller
vor 18 Tagen
aef716c
justify provably-safe html_safe + load-bearing broad rescues
Julian Müller
vor 18 Tagen
09e802b
remove 6 redundant self.table_name overrides, lock with test
Julian Müller
vor 18 Tagen
8b759fc
complete Tier-A safe hygiene plan (D19/D20/D22)
Julian Müller
vor 18 Tagen
11ef900
professionalise BOM import error text (D20)
Julian Müller
vor 18 Tagen
bc770be
standardise presence validations to validates form (D22)
Julian Müller
vor 18 Tagen
41dd7bd
remove dead code and stale early-dev TODO comments (D19)
Julian Müller
vor 18 Tagen
c5c515a
create phase plan (refactor & hygiene — 4 plans, risk-tiered)
Julian Müller
vor 18 Tagen
bba2907
complete D12 composite-indexes plan
Julian Müller
vor 18 Tagen
0d7d1a4
assert D12 composite indexes exist + no-regression guard
Julian Müller
vor 18 Tagen
2843c44
add composite indexes for teilnehmers + ausgeh_vorgangs (D12)
Julian Müller
vor 18 Tagen
585615f
complete Teilnehmer attendance/outing N+1 (D5) plan
Julian Müller
vor 18 Tagen
abb5b9c
eager-load an_abreise/ausgeh on teilnehmers#index (D5 N+1)
Julian Müller
vor 18 Tagen
afa46bf
make attendance/outing predicates association-aware (D5 N+1)
Julian Müller
vor 18 Tagen
4f49924
complete update_columns-justification + irreversible-migration plan
Julian Müller
vor 18 Tagen
51bf681
document + guard irreversible Nextcloud-encryption migration (D24)
Julian Müller
vor 18 Tagen
86e32ac
lock load-bearing archived-camp path for GenerateCampBookJob (D14)
Julian Müller
vor 18 Tagen
54305ff
justify deliberate update_columns writes (D14)
Julian Müller
vor 18 Tagen
03b028f
remove misleading skip-validation buttons + orphaned i18n key
Julian Müller
vor 18 Tagen
4ee470b
remove dead skip-validation branch from mass creators (always validate)
Julian Müller
vor 18 Tagen
f1df2c3
collect-once memoization + N+1 removal (D35) + safe cleanups (D36)
Julian Müller
vor 18 Tagen
72fdff2
export robustness — PDF shrink_to_fit (D32) + anonymized JSON/CSV alignment (D33)
Julian Müller
vor 18 Tagen
3023467
access & audit hardening — medical audit (D29), read-only gate (D30), CSRF POST (D31)
Julian Müller
vor 18 Tagen
8092f9b
complete DSGVO export hardening plan (D26/D27/D28/D34)
Julian Müller
vor 18 Tagen
ba2c573
neutralize CSV formula/DDE injection across all generated CSVs (D28)
Julian Müller
vor 18 Tagen
8936260
own-only projection of semicolon ID-list sources — no cross-child PII (D27)
Julian Müller
vor 18 Tagen
ed33c9b
stammdaten allowlist — biometric templates can never leak (D26/D34)
Julian Müller
vor 18 Tagen
ab8b070
record D45 per-item dispositions in DEBT.md
Julian Müller
vor 18 Tagen
9dbf953
ci(110-04): add weekly scheduled security scan; document deploy.rb rvm finding - ci.yml: on.schedule cron '0 6 * * 1...
Julian Müller
vor 18 Tagen
c24aef8
enable config.hosts allowlist in production
Julian Müller
vor 18 Tagen
810e856
complete D44 document-and-guard plan summary
Julian Müller
vor 18 Tagen
b99d121
add D44 lint guard vs interpolated raw SQL + resolve DEBT note
Julian Müller
vor 18 Tagen
f501089
document D44 applied-migration SQL-interp as historical, no rewrite
Julian Müller
vor 18 Tagen
2c7192d
sync demo_schema.rb with str_token_digest migration
Julian Müller
vor 18 Tagen
9cac9c2
record D46 — deferred Deploy 2 drop of api_keys.str_token
Julian Müller
vor 18 Tagen
925f6e0
ApiKey digest-at-rest lookup + one-time raw-token reveal (D43)
Julian Müller
vor 18 Tagen
33fdff1
additive str_token_digest migration for ApiKey (backfill+null plaintext)
Julian Müller
vor 18 Tagen
01a9f91
create phase plan (D5 N+1 fix + D12 composite indexes, 2 plans)
Julian Müller
vor 18 Tagen
e2065f2
SSRF guard summary (D42 closed)
Julian Müller
vor 18 Tagen
b9d59bf
SSRF guard in NextcloudService (D42)
Julian Müller
vor 18 Tagen
2feb0e9
add failing SSRF guard coverage for NextcloudService
Julian Müller
vor 18 Tagen
68e6ac0
summaries — D39/D40/D41 executed + full-suite gate PASS (fixture regression fixed), human-verify pending
Julian Müller
vor 18 Tagen
6904e21
create phase plan (validation-bypass removal D2, update_columns justification D14, irreversible migration doc D24)
Julian Müller
vor 18 Tagen
86b9741
distinct created_at in dokumente fixtures for deterministic recent_first
Julian Müller
vor 18 Tagen
5d606ad
create phase plan (DSGVO export hardening, 2 plans)
Julian Müller
vor 18 Tagen
9ab5ccb
org-scope DokumentPolicy#destroy? admin branch (D40)
Julian Müller
vor 18 Tagen
36ecf32
add failing cross-tenant delete tests for DokumentPolicy#destroy? (D40)
Julian Müller
vor 18 Tagen
b005413
token-scope guest gaesteliste lookup + expiring token (D39/D41)
Julian Müller
vor 18 Tagen
ae6a1cf
create Security-Härtung phase plan (D42-D45, 4 plans)
Julian Müller
vor 18 Tagen
b6bed0c
add failing cross-tenant IDOR + token-expiry tests (D39/D41)
Julian Müller
vor 18 Tagen
3f20983
summaries — D37/D38 executed + full-suite gate PASS, human-verify pending
Julian Müller
vor 18 Tagen
b9c0440
create phase plan (Gaesteliste IDOR + token expiry, Dokument cross-tenant delete)
Julian Müller
vor 18 Tagen
f26a0e6
org-scope notfallmappe/trigger_face_detection/import_settings (D38)
Julian Müller
vor 18 Tagen
21a0592
add failing cross-tenant tests for notfallmappe/trigger_face_detection/import_settings (D38)
Julian Müller
vor 18 Tagen
65128b1
drop dead Admin::RegistrationsController doc reference (D37)
Julian Müller
vor 18 Tagen
3178a10
add safe admin-provisioning runbook (D37)
Julian Müller
vor 18 Tagen
5d54257
remove public admin self-registration surface (D37)
Julian Müller
vor 18 Tagen
dda76c7
add failing regression test for D37 admin self-registration
Julian Müller
vor 18 Tagen
b1f017c
create phase plan (D37 admin self-registration + D38 cross-tenant health-data leak, 2 plans)
Julian Müller
vor 18 Tagen
34a3ce9
create 8 debt-remediation phases from DEBT.md (108.2 URGENT + 109-115)
Julian Müller
vor 18 Tagen
0b5db78
log 2026-07-03 security review as DEBT D37-D45 (D37 admin self-registration runtime-CONFIRMED)
Julian Müller
vor 18 Tagen
6b978e6
close phase — 103-05 gate PASS (owner UAT) + log export code-review as DEBT D26-D36
Julian Müller
vor 18 Tagen
dd8cd33
quick-task PLAN + SUMMARY (executor died pre-summary; orchestrator recovered)
Julian Müller
vor 19 Tagen
e3d0368
Regression-Guard — § 8a-Hinweis darf nie wieder im Export auftauchen
Julian Müller
vor 19 Tagen
ff25b20
entferne sichtbaren § 8a-Kinderschutz-Hinweis aus DSGVO-Auskunft-Export
Julian Müller
vor 19 Tagen
b062a64
insert URGENT phase — remove § 8a Kinderschutz notice from DSGVO export (UAT finding)
Julian Müller
vor 19 Tagen
7e12e1b
update tracking after wave 4 (103-04 complete)
Julian Müller
vor 19 Tagen
e8f079d
append self-check result to plan summary
Julian Müller
vor 19 Tagen
b4ea8d3
create plan summary
Julian Müller
vor 19 Tagen
e4e622a
IDOR, Audit- und Klartext-Tests fuer dsgvo_auskunft
Julian Müller
vor 19 Tagen
7320a3b
UI-Button DSGVO-Auskunft & Datenexport auf Teilnehmer-Seite
Julian Müller
vor 19 Tagen
e0eae75
DSGVO-Auskunft Backend — Route, Policy-Rule, ACTION_TYPES, Controller-Action
Julian Müller
vor 19 Tagen
e67317c
update tracking after wave 3 (103-03 complete)
Julian Müller
vor 19 Tagen
88ed8ad
append self-check result to plan summary
Julian Müller
vor 19 Tagen
ab494e1
add plan summary — AuskunftExportService#call complete
Julian Müller
vor 19 Tagen
b6637fc
AuskunftExportService#call — In-Memory-ZIP-Bündelung + LIESMICH.txt
Julian Müller
vor 19 Tagen
64d76e7
add failing ZIP-bundle behavior tests for AuskunftExportService#call
Julian Müller
vor 19 Tagen
3c5e7b7
update tracking after wave 2 (103-02 complete)
Julian Müller
vor 19 Tagen
425896d
add plan summary — TeilnehmerAuskunftPdf complete
Julian Müller
vor 19 Tagen
334f087
TeilnehmerAuskunftPdf — Art.-15-Auskunft mit Meta-Infos (GREEN)
Julian Müller
vor 19 Tagen
121667f
add failing tests for TeilnehmerAuskunftPdf (RED)
Julian Müller
vor 19 Tagen
c5d0759
update tracking after wave 1 (103-01 complete)
Julian Müller
vor 19 Tagen
9494575
merge(103-01): AuskunftExportService into master (wave 1)
Julian Müller
vor 19 Tagen
d36b92c
append self-check results to summary
Julian Müller
vor 19 Tagen
abbd21f
add plan summary
Julian Müller
vor 19 Tagen
0b67193
insert URGENT security phase — F1 privilege escalation
Julian Müller
vor 19 Tagen
7048541
implement Teilnehmer::AuskunftExportService
Julian Müller
vor 19 Tagen
8f05a7e
add failing RED test for AuskunftExportService
Julian Müller
vor 19 Tagen
012c955
add explicit rubyzip Gemfile dependency
Julian Müller
vor 19 Tagen
d91ae5b
fork agent worktrees from live HEAD (worktree.baseRef=head)
Julian Müller
vor 19 Tagen
5805f99
finalize plan — decision-coverage gate 7/7, roadmap annotated
Julian Müller
vor 19 Tagen
27e6155
create phase plan (DSGVO Auskunft/Datenexport, 5 plans)
Julian Müller
vor 19 Tagen
6c36d3b
capture DSGVO-export context + research
Julian Müller
vor 19 Tagen
57f515c
complete phase execution — landing-page CTA honesty verified
Julian Müller
vor 19 Tagen
3c5da56
complete landing-page CTA honesty plan
Julian Müller
vor 19 Tagen
2b8be35
add plan summary — landing CTA honesty
Julian Müller
vor 19 Tagen
5385770
remove misleading "kostenlos" from header nav CTAs
Julian Müller
vor 19 Tagen
6de96dd
remove misleading "kostenlos" from hero + bottom-CTA
Julian Müller
vor 19 Tagen
6f7565b
plan landing-page CTA honesty (remove misleading Gratis-claims)
Julian Müller
vor 19 Tagen
a254889
complete 260702-nxw passwort-laengen-hinweis-6-vs-12-reset
Julian Müller
vor 19 Tagen
8340274
tote passwort_min i18n-key entfernt + reset_password_token label ergaenzt
Julian Müller
vor 19 Tagen
1729341
passwort-reset zeigt echtes minimum (12 statt 6)
Julian Müller
vor 19 Tagen
f6a420a
add Phase 108 — make landing-page CTAs honest
Julian Müller
vor 19 Tagen
80d082b
complete organisation betreuer-tab rolle-zuweisung quick task
Julian Müller
vor 19 Tagen
3dcb524
update Phase-80 redirect test + add turbo_stream coverage
Julian Müller
vor 19 Tagen
1c2f693
inline Turbo Stream card replacement for role assign/remove
Julian Müller
vor 19 Tagen
d776370
code review (0 crit/1 warn/2 info) + disposition — WR-01 accepted
Julian Müller
vor 19 Tagen
9d67d84
complete phase execution
Julian Müller
vor 19 Tagen
95de9f6
commit plan summaries (01-04)
Julian Müller
vor 19 Tagen
76d2e33
apply correction migration to LIVE-shaped dev records
Julian Müller
vor 19 Tagen
0ef6848
extend living-spec with correction regression guards
Julian Müller
vor 19 Tagen
8ef049b
correct Paket/Beitrittscode/AVV-order in software_einfuehren
Julian Müller
vor 19 Tagen
f6b8123
append self-check result to summary
Julian Müller
vor 19 Tagen
d685d25
add plan summary
Julian Müller
vor 19 Tagen
ee2ef83
add in-app Ticket support CTA to onboarding section (A-5)
Julian Müller
vor 19 Tagen
651b109
complete AVV description with personalized signable contract (K-2)
Julian Müller
vor 19 Tagen
7978c1d
strike self-labeled herstellerneutral/neutral (K-1)
Julian Müller
vor 19 Tagen
9cf36b2
add plan summary
Julian Müller
vor 19 Tagen
e29f167
author reversible correction migration with frozen OLD_* snapshot
Julian Müller
vor 19 Tagen
3e39307
clarify Phase 104 not yet prod-deployed (dev-seeded only)
Julian Müller
vor 19 Tagen
9f10e0f
add validation strategy (Nyquist dim 8)
Julian Müller
vor 19 Tagen
50cbdfe
create phase plan (4 plans, 3 waves — content corrections + reversible LIVE update-migration)
Julian Müller
vor 19 Tagen
88bd069
research LIVE content-correction migration pattern
Julian Müller
vor 19 Tagen
bc813b3
resolve NEU-3 — Rotationsplaner is LIVE (owner-confirmed), no change
Julian Müller
vor 19 Tagen
e533a1a
resolve ticket-tier question — module is Standard+, not Pro-gated
Julian Müller
vor 19 Tagen
cbabe9e
fold full fact-check audit — 5 new findings + open ticket-tier Q
Julian Müller
vor 19 Tagen
8668e26
add correction #5 — onboarding support CTA via JCP ticket system
Julian Müller
vor 19 Tagen
dde9974
insert content-correction phase + diagnosis context
Julian Müller
vor 19 Tagen
0df1692
idempotent publish date + blog back-link test coverage (code review)
Julian Müller
vor 19 Tagen
c5d7e32
summary + state — Registrierung Datumseingabe iOS-robust
Julian Müller
vor 19 Tagen
1ccfdf0
merge executor worktree (worktree-agent-aef724c1ed9069d0e)
Julian Müller
vor 19 Tagen
f62266f
complete phase execution
Julian Müller
vor 19 Tagen
c1857ce
Punkt-Auto-Insertion beim Tippen + 8-Ziffern-Toleranz im Parser
Julian Müller
vor 19 Tagen
1eb9f73
native Datepicker als transparenter Overlay statt sr-only (iOS-Tap-Fix)
Julian Müller
vor 19 Tagen
df28c7a
pre-dispatch plan for Registrierung Datumseingabe robuster (iOS)
Julian Müller
vor 19 Tagen
6a08da5
commit outstanding plan summaries (104-01/02/04/05)
Julian Müller
vor 19 Tagen
28f98af
complete LIVE-safe seed migrations plan
Julian Müller
vor 19 Tagen
59145f4
seed Verein-Digitalisieren Blog-Post (published, guide)
Julian Müller
vor 19 Tagen
f49aec7
seed Verein-Digitalisieren Handbuch-Serie (5 Seiten, modul start)
Julian Müller
vor 19 Tagen
9baa95a
record publish-gate owner sign-off
Julian Müller
vor 19 Tagen
b42652d
assert HTML-escaped titles in verein-digitalisieren index test (DI-1)
Julian Müller
vor 20 Tagen
2631c57
author Handbuch #5 Von Papier zu digital migration content
Julian Müller
vor 20 Tagen
fe9a715
author Handbuch #4 Team & Ehrenamt change-management content
Julian Müller
vor 20 Tagen
eae6877
author Handbuch #3 Software einfuehren (JCP rollout)
Julian Müller
vor 20 Tagen
021e9ee
author Handbuch #2 Recht & Datenschutz into RechtDatenschutz::HTML
Julian Müller
vor 20 Tagen
9fe39f3
author Handbuch #1 Fahrplan series hub into Fahrplan::HTML
Julian Müller
vor 20 Tagen
b9df5e4
author the neutral blog guide into Blog::HTML
Julian Müller
vor 20 Tagen
bd182dc
add plan summary
Julian Müller
vor 20 Tagen
1b1ee95
add living-spec integration test for verein-digitalisieren series
Julian Müller
vor 20 Tagen
04dfbc5
add SSOT content module tree for verein-digitalisieren series
Julian Müller
vor 20 Tagen
741119c
@ docs(state): record phase 104 planning session Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> @
Julian Müller
vor 20 Tagen
bf19f87
@ docs(104): fold plan-checker warnings + pin ROADMAP requirements Plan-checker returned 0 blockers / 2 warnings; bo...
Julian Müller
vor 20 Tagen
4d056f5
create phase plan (7 plans, 4 waves — content SSOT + seed migrations)
Julian Müller
vor 20 Tagen
37b05cc
@ docs(104): add research + validation strategy gsd-phase-researcher (opus, max reasoning per "Thinking auf max"): w...
Julian Müller
vor 20 Tagen
0f920ca
@ docs(state): record phase 104 context session Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> @
Julian Müller
vor 20 Tagen
a1c0937
@ docs(104): capture phase context Discuss-phase for Phase 104 (Handbuch-Eintrag + Blog-Beitrag „Wie digitalisiere i...
Julian Müller
vor 20 Tagen
af37634
@ docs(99): close out Phase 99 — VERIFICATION passed, owner UAT confirmed Flip 99-VERIFICATION.md status human_neede...
Julian Müller
vor 20 Tagen
b8366c5
@ chore(99): track Phase 99 planning artifacts + demo-shard schema sync Commit the outstanding Phase 99 (Paket-Upgra...
Julian Müller
vor 20 Tagen
d2f99ef
un-nest upgrade panel from edit form (fixes missing confirm) + show surcharge in current price (UAT)
Julian Müller
vor 20 Tagen
42a68f3
insert Phase 107 — app-wide branded confirm modal (Owner decision, Phase-99 UAT)
Julian Müller
vor 20 Tagen
c82bc2f
exclude marketing-only modules from the manage-modules panel (UAT)
Julian Müller
vor 20 Tagen
5daabea
active-modules overview + confirmation gate on add_modul (UAT)
Julian Müller
vor 20 Tagen
37b1cb2
exclude enterprise from self-service upgrade (UAT)
Julian Müller
vor 20 Tagen
1649bfc
update persisted-view tests for the upgrade panel (Phase 99 removed the paket lock)
Julian Müller
vor 20 Tagen
aaf7115
add Zusatzmodule PDF line from frozen invoice price (REQ-99-BILL-03)
Julian Müller
vor 20 Tagen
344eaca
snapshot Einstellung price + count in AbrechnungCreatorService
Julian Müller
vor 20 Tagen
4f3a96a
add failing service tests for count passthrough + Einstellung price snapshot
Julian Müller
vor 20 Tagen
26477c0
add à-la-carte surcharge to Abrechnung#calculate_prices
Julian Müller
vor 20 Tagen
70df6a1
add failing surcharge tests for REQ-99-BILL-02 / REQ-99-DATA-03
Julian Müller
vor 20 Tagen
703a065
replace read-only paket lock with upgrade/add-modul panel + UI test (GREEN)
Julian Müller
vor 20 Tagen
542cdac
implement upgrade_paket + add_modul actions + de.yml upgrade keys (GREEN)
Julian Müller
vor 20 Tagen
c624bc2
add failing tests for upgrade_paket/add_modul actions + panel UI (RED)
Julian Müller
vor 20 Tagen
f95364f
full admin edit view + dashboard nav tile + view i18n
Julian Müller
vor 20 Tagen
26bac4c
AuditLog type + route + EinstellungenController + stub view + controller tests
Julian Müller
vor 20 Tagen
42c7cbe
Einstellung model + seeded migration + attribute i18n + model tests
Julian Müller
vor 20 Tagen
4151cfb
add upgrade_paket?/add_modul? policy rules, routes, and tests
Julian Müller
vor 20 Tagen
dd4c9ce
extend AuditLog ACTION_TYPES + add paket upgrade audit tests
Julian Müller
vor 20 Tagen
e69189e
add three additive migrations for paket upgrade schema
Julian Müller
vor 20 Tagen
6bf8d11
resolve plan-checker findings — live-price surcharge hint (blocker) + fix ACTION_TYPE typo (warning)
Julian Müller
vor 20 Tagen
ffc7de4
freeze Einzelmodul-Preis onto invoice — snapshot column (99-01) + write/read + immutability test (99-03)
Julian Müller
vor 20 Tagen
9658450
admin-configurable Einzelmodul-Preis — add 99-04, revise 99-03
Julian Müller
vor 20 Tagen
473d468
resolve plan-checker findings — mark research OQs RESOLVED + add modul-zuweisung model to 99-02 context
Julian Müller
vor 20 Tagen
ad22ae1
create phase plan (foundation + upgrade/add-modul + à-la-carte billing)
Julian Müller
vor 20 Tagen
717aa69
research + validation strategy + billing decision (add_modul à-la-carte 0.10€/module/TN)
Julian Müller
vor 20 Tagen
863dfbd
mark VERIFICATION passed — owner UAT confirmed (status page + VPS prober)
Julian Müller
vor 20 Tagen
2d412be
move stray backlog phases into the 999.X namespace
Julian Müller
vor 20 Tagen
67e5a94
complete — owner confirmed live-prod UAT passed 2026-07-01
Julian Müller
vor 20 Tagen
f398ede
reconcile + complete Phase 85 (false-negative, corrected)
Julian Müller
vor 20 Tagen
168b0cd
reconcile + complete 4 false-negative phases (sweep wave 3)
Julian Müller
vor 21 Tagen
6f0519e
Juni 2026
reconcile + complete 12 phases (verification-debt sweep wave 2)
Julian Müller
vor 21 Tagen
07eeff3
reconcile + complete 9 phases (verification-debt sweep wave 1)
Julian Müller
vor 21 Tagen
5531a51
complete phase — regenerate missing VERIFICATION.md (passed)
Julian Müller
vor 21 Tagen
4001730
link public /status page in footer (Ressourcen column)
Julian Müller
vor 21 Tagen
3446e48
align PROBER-SETUP runbook with actual install + UFW
Julian Müller
vor 21 Tagen
2f2f9ac
add quick-task plan for default Rollen fix
Julian Müller
vor 21 Tagen
a1e30c4
clean default Rollen in demo_database_connection teardown
Julian Müller
vor 21 Tagen
8a92122
clean default Rollen in demo test teardowns
Julian Müller
vor 21 Tagen
bb1db1c
complete quick task SUMMARY + STATE update
Julian Müller
vor 21 Tagen
392524f
add Organisation default Rollen lifecycle tests (4 behaviors)
Julian Müller
vor 21 Tagen
221dea1
add idempotent backfill migration for default Rollen
Julian Müller
vor 21 Tagen
dcbe03f
add after_commit(on: :create) hook to seed default roles
Julian Müller
vor 21 Tagen
58c911e
add remaining plan SUMMARYs + VERIFICATION (12/12 must-haves)
Julian Müller
vor 21 Tagen
fa5f24f
repair broken status-page icons + UAT polish
Julian Müller
vor 21 Tagen
82dade3
complete prober plan — SUMMARY, STATE, ROADMAP updated
Julian Müller
vor 21 Tagen
6d5512b
add PROBER-SETUP.md runbook for second-VPS manual install
Julian Müller
vor 21 Tagen
a2326e0
add jcp-prober.sh — off-box bash+curl health prober
Julian Müller
vor 21 Tagen
b29fcd7
add status index view + Stimulus auto-refresh + i18n
Julian Müller
vor 21 Tagen
19bf1de
add StatusController + GET /status route (GREEN)
Julian Müller
vor 21 Tagen
522d41d
add failing StatusController tests (RED)
Julian Müller
vor 21 Tagen
9a4182a
complete daily-rollup + retention-cleanup + gap-detection plan
Julian Müller
vor 21 Tagen
94cb374
schedule StatusDailyRollupJob (02:00) and StatusRetentionCleanupJob (03:00) in recurring.yml
Julian Müller
vor 21 Tagen
36efc3c
implement StatusRetentionCleanupJob (GREEN)
Julian Müller
vor 21 Tagen
6e84869
add failing tests for StatusRetentionCleanupJob (RED)
Julian Müller
vor 21 Tagen
ad62415
implement StatusDailyRollupJob (GREEN)
Julian Müller
vor 21 Tagen
5fa3331
add failing tests for StatusDailyRollupJob (RED)
Julian Müller
vor 21 Tagen
b602d87
implement VerfuegbarkeitsBerechner module (GREEN)
Julian Müller
vor 21 Tagen
e47ea35
add failing tests for VerfuegbarkeitsBerechner (RED)
Julian Müller
vor 21 Tagen
236d8df
schedule KomponentenHealthCheckJob in recurring.yml (prod + dev)
Julian Müller
vor 21 Tagen
5cbec2e
implement KomponentenHealthCheckJob (GREEN)
Julian Müller
vor 21 Tagen
0ccdadb
add failing tests for KomponentenHealthCheckJob (RED)
Julian Müller
vor 21 Tagen
09b5246
test-gating rule — targeted tests per change, full suite once at end
Julian Müller
vor 21 Tagen
ca1dc76
add Rack::Attack throttle for POST /monitoring/ingest
Julian Müller
vor 21 Tagen
52ad70e
implement Monitoring::IngestController + route (GREEN)
Julian Müller
vor 21 Tagen
e227e27
add failing ingest controller tests (RED)
Julian Müller
vor 21 Tagen
fb04a25
sync demo shard schema for Phase 106 tables
Julian Müller
vor 21 Tagen
e2bd885
add activerecord.attributes i18n labels for Phase 106 models
Julian Müller
vor 21 Tagen
94af2f9
implement VerfuegbarkeitsPruefung, TagesVerfuegbarkeit, Systemvorfall models
Julian Müller
vor 21 Tagen
9956ddc
add failing model tests for VerfuegbarkeitsPruefung, TagesVerfuegbarkeit, Systemvorfall
Julian Müller
vor 21 Tagen
2d38d74
add Phase 106 inflections + three reversible migrations
Julian Müller
vor 21 Tagen
ac081fa
add phase research (uptime/status page implementation)
Julian Müller
vor 21 Tagen
bc710fc
create phase plan — 7 plans across 3 waves (uptime/status page)
Julian Müller
vor 21 Tagen
73427f8
capture owner decisions (off-box prober + own status page)
Julian Müller
vor 21 Tagen
3231335
phase summaries + VERIFICATION (passed 7/7) + roadmap/state
Julian Müller
vor 22 Tagen
f9bf0d6
migrate 6 AVV rendering tests to avv_muster; trim 2 dsgvo avv tests
Julian Müller
vor 22 Tagen
c289e0d
retire drifted dsgvo/avv preview — view, action, route, i18n
Julian Müller
vor 22 Tagen
d217f79
Trägertyp column, per-Trägertyp summary, select + i18n + test
Julian Müller
vor 22 Tagen
35e39cb
Trägertyp-aware AvvVorlagenController (index/new/create)
Julian Müller
vor 22 Tagen
dc181e0
skip_verify_authorized for nil-guard early-return in create + sign-guard test
Julian Müller
vor 22 Tagen
39e5625
per-Trägertyp public muster render + org-tab affordance + escape guard
Julian Müller
vor 22 Tagen
f409ccb
add per-Trägertyp regression assertion for AvvVorlage.current
Julian Müller
vor 22 Tagen
ac63a5a
wire avv:smoke_test into deploy build phase after db_migrate
Julian Müller
vor 22 Tagen
f033600
add avv:smoke_test rake task over all SUPPORTED_TRAEGERTYPS
Julian Müller
vor 22 Tagen
e9aea2c
public /avv-muster whitelisted Traegertyp preview picker + i18n
Julian Müller
vor 22 Tagen
74d11dc
rewire per-org AVV consumers to current(org.str_traegertyp) + nil-template sign guard
Julian Müller
vor 22 Tagen
8086005
seed avv_vorlage v1 per Trägertyp + expand fixtures (Task 3)
Julian Müller
vor 22 Tagen
ebceff9
scope AvvVorlage model to str_traegertyp + i18n label (Task 2)
Julian Müller
vor 22 Tagen
c704d24
add str_traegertyp to avv_vorlagen + composite index swap (Task 1)
Julian Müller
vor 22 Tagen
46264da
extend AvvVorlageContent lib unit tests for per-Trägertyp variants
Julian Müller
vor 22 Tagen
d44d67b
parametrize build_v1_text for per-Trägertyp §§ (D-4)
Julian Müller
vor 22 Tagen
4f06b01
apply plan-check fixes (i18n label blocker + 2 verify asserts)
Julian Müller
vor 22 Tagen
9c8882e
re-plan AVV phase for D-4/D-5/D-6 scope expansion
Julian Müller
vor 22 Tagen
35ef63b
append DELTA research for D-4/D-5/D-6 scope expansion
Julian Müller
vor 22 Tagen
7883d85
expand scope — per-Traegertyp AvvVorlage variants + retire drifted preview
Julian Müller
vor 22 Tagen
eb2a5cd
forbid demonstration/placeholder data in the live system
Julian Müller
vor 22 Tagen
0a67a33
AdminPanel::AvvVorlagenController integration tests
Julian Müller
vor 22 Tagen
4aad712
avv_vorlagen views (index/new/_form) and i18n keys
Julian Müller
vor 22 Tagen
f54fb6b
AdminPanel::AvvVorlagenController + route + dashboard tile
Julian Müller
vor 22 Tagen
21f52d5
complete AVV SSOT + data migration plan (Wave 1)
Julian Müller
vor 22 Tagen
1523dc9
add reversible idempotent data migration for AvvVorlage v1
Julian Müller
vor 22 Tagen
886ef60
refactor seed to use SSOT module + add AvvVorlageContentTest
Julian Müller
vor 22 Tagen
15a6703
extract AVV v1 legal text into lib/avv_vorlage_content.rb (SSOT)
Julian Müller
vor 22 Tagen
71709bb
create phase plan (4 plans, 3 waves) — AVV live-fix + admin UI + regression guard
Julian Müller
vor 22 Tagen
5d796ad
add CONTEXT (owner decisions) + RESEARCH for AVV live-fix
Julian Müller
vor 22 Tagen
a1d1010
add Phase 106 — public uptime/status page (1-year availability)
Julian Müller
vor 22 Tagen
c8bece4
add Phase 105 (URGENT) — AVV module dead in production
Julian Müller
vor 22 Tagen
cb48c3d
add Phase 104 — Handbuch + Blog "Verein digitalisieren"
Julian Müller
vor 22 Tagen
fb946fc
add Phase 103 — DSGVO-Auskunft & Datenexport pro Teilnehmer
Julian Müller
vor 22 Tagen
d2cfc0b
mark Beschwerdemodul as implemented on the §8a handbuch page
Julian Müller
vor 22 Tagen
de484e2
style prose-forest tables (borders, padding, header tint)
Julian Müller
vor 22 Tagen
a28dbd9
owner UAT PASS - German validation errors on public Gaesteliste
Julian Müller
vor 22 Tagen
c391f06
stop 500 on guest registration + dedupe dt_to error
Julian Müller
vor 22 Tagen
65ee09d
switch article-link trigger from [[ to @ in Quill editor
Julian Müller
vor 22 Tagen
b5590a6
owner UAT PASS - QR flyers visual (tab card, badges, 4-page PDF)
Julian Müller
vor 22 Tagen
d06ebe5
owner UAT PASS — wording/initial-burst signed off + Ampel visual/dark-mode verified
Julian Müller
vor 22 Tagen
3f8eb70
record GAP-4 (data backfill + flyer download + UI refinements)
Julian Müller
vor 22 Tagen
33e5b86
self-heal Beschwerde-QR for existing freizeiten + per-QR flyer download + UI polish
Julian Müller
vor 22 Tagen
95810eb
track gap-closure owner UAT — QR card/flyers visual check (D-1 auto-locked)
Julian Müller
vor 22 Tagen
8963c13
gap-closure verification PASS (GAP-1..3 closed) + roadmap plan progress 8/8
Julian Müller
vor 22 Tagen
3938a10
complete tier-guard plan — D-1 safety-never-paywalled locked
Julian Müller
vor 22 Tagen
173fe32
tier-guard — public Beschwerde channel resolves on standard tier (D-1)
Julian Müller
vor 22 Tagen
2bdb4f9
SUMMARY — QR-Flyer & Beschwerde-QR surface (GAP-1/GAP-2 closed)
Julian Müller
vor 22 Tagen
7fdedfd
Beschwerde QR card + Alle Flyer drucken button on QR-Codes tab
Julian Müller
vor 22 Tagen
fce9619
qr_flyer member action + route + leader-facing policy gate
Julian Müller
vor 22 Tagen
839c3c6
QrFlyerPdf Prawn builder — one A4 flyer per present QR
Julian Müller
vor 22 Tagen
cb18753
apply plan-checker fixes to gap plans 07/08
Julian Müller
vor 22 Tagen
21a9476
gap-closure plans 97-07 (QR surface + flyer PDF) + 97-08 (tier guard)
Julian Müller
vor 22 Tagen
ce14b96
UAT findings — gaps GAP-1..3 (orphaned beschwerde QR, print-all flyers, safety-in-base guard) + locked decisions
Julian Müller
vor 22 Tagen
404277d
danke page advises saving the link / re-scanning the QR
Julian Müller
vor 22 Tagen
0e94e52
picker entry to resume a complaint + honest contact-field hint
Julian Müller
vor 22 Tagen
867946c
resolve anonymous complaint by re-open code when no beschwerde_id
Julian Müller
vor 22 Tagen
446a2f0
add 'Anderen Empfänger wählen' link on anonymous complaint form
Julian Müller
vor 23 Tagen
8758ba5
show full AVV Prüfsumme (was truncated to 16 chars + …)
Julian Müller
vor 23 Tagen
c478453
stop double-truncating AVV Prüfsumme on Organisation AVV tab
Julian Müller
vor 23 Tagen
fa1c014
track pending owner-UAT items (Phase 97 visual/UX)
Julian Müller
vor 23 Tagen
1582bcc
verification — 24/24 automated must-haves PASS; 3 owner visual/UX UAT items pending
Julian Müller
vor 23 Tagen
176e576
complete Beschwerde security integration tests plan
Julian Müller
vor 23 Tagen
39a4b9a
add German activerecord.attributes names for Beschwerde models (suite i18n gate)
Julian Müller
vor 23 Tagen
6a15471
no-delete invariant (route + model, all roles) HTTP integration test
Julian Müller
vor 23 Tagen
e803e78
IDOR recipient-only inbox/reply/escalate HTTP integration test
Julian Müller
vor 23 Tagen
eefad84
anonymity + throttle + honeypot HTTP integration test
Julian Müller
vor 23 Tagen
2836588
complete Eskalation plan — SUMMARY + STATE/ROADMAP
Julian Müller
vor 23 Tagen
9abb253
eskalieren? policy + controller action + Handlungsleitfaden picker (OD-1)
Julian Müller
vor 23 Tagen
ce8a2d4
implement BeschwerdeEskalationsService (OD-1 atomic escalation)
Julian Müller
vor 23 Tagen
a47ac4b
add failing test for BeschwerdeEskalationsService (OD-1 escalation)
Julian Müller
vor 23 Tagen
7b2131b
complete Betreuer Beschwerde-Eingang plan
Julian Müller
vor 23 Tagen
c369cbc
content-free notify on create + Dashboard Sicherheit tile
Julian Müller
vor 23 Tagen
fd141dc
IDOR-safe Betreuer Beschwerde-Eingang (policy + controller + views)
Julian Müller
vor 23 Tagen
a1a2f9e
complete 10y Beschwerde-Anonymisierungsjob plan
Julian Müller
vor 23 Tagen
5d1c82f
schedule BeschwerdeAnonymisierungJob in recurring.yml (prod + dev)
Julian Müller
vor 23 Tagen
8161548
BeschwerdeAnonymisierungJob — 10y content-only scrub via encrypting writers
Julian Müller
vor 23 Tagen
65a50a7
complete public anonymous Beschwerde surface plan
Julian Müller
vor 23 Tagen
3757880
Beschwerde-QR generation + token-hash Rack::Attack throttle
Julian Müller
vor 23 Tagen
1c49113
public Beschwerde views + recipient-picker Stimulus controller
Julian Müller
vor 23 Tagen
2fff61b
public anonymous BeschwerdenController + routes + i18n
Julian Müller
vor 23 Tagen
c5eed2d
sync demo shard schema for beschwerden tables
Julian Müller
vor 23 Tagen
90e4217
complete immutable encrypted Beschwerde data foundation
Julian Müller
vor 23 Tagen
633c98f
model tests lock immutability, encryption-at-rest, no-tracking, nullify, re-open lockout
Julian Müller
vor 23 Tagen
2a27be1
Beschwerde + BeschwerdeNachricht immutable encrypted models
Julian Müller
vor 23 Tagen
c4d287e
inflections + reversible additive migrations for beschwerden tables
Julian Müller
vor 23 Tagen
2cba4e7
revise plans 97-01/02/05 per plan-checker (B-1 encrypting anonymize, W-1 demo-service, W-2/W-3)
Julian Müller
vor 23 Tagen
64c8be4
create phase plan — anonymes Beschwerdemodul (6 Pläne, 5 Waves)
Julian Müller
vor 23 Tagen
37686fe
mark phase COMPLETE — verification passed (autonomous set 4/5)
Julian Müller
vor 23 Tagen
15cd909
verification PASSED 13/13 — public §8a Handbuch mapping, UWG-safe, code-grounded
Julian Müller
vor 23 Tagen
bb52c07
complete §8a Schutzauftrag integration-test plan
Julian Müller
vor 23 Tagen
db5188b
integration test for public §8a Schutzauftrag HandbuchSeite
Julian Müller
vor 23 Tagen
62d97b2
complete §8a-Schutzauftrag HandbuchSeite plan — SUMMARY + tracking
Julian Müller
vor 23 Tagen
d23aaa9
seed §8a-Schutzauftrag HandbuchSeite via reversible data-migration
Julian Müller
vor 23 Tagen
5536dfa
track Plan 01 complete — STATE + ROADMAP
Julian Müller
vor 23 Tagen
039bc27
add plan SUMMARY — Mapping-Draft bereits User-approved (2026-05-19), keine Artefakte überschrieben
Julian Müller
vor 23 Tagen
073c10b
track pending owner-UAT items (Phase 95 legal signoff)
Julian Müller
vor 23 Tagen
0e46170
verification — 18/18 automated must-haves PASS; 1 owner legal-signoff pending
Julian Müller
vor 23 Tagen
248106e
add i18n attribute labels for QualificationExpiryNotification
Julian Müller
vor 23 Tagen
c456538
mark RESEARCH OQ-1 resolved (D-2 in scope per 95-CONTEXT SCOPE-FENCE)
Julian Müller
vor 23 Tagen
96ab850
track Plan 05 complete — STATE + ROADMAP (Phase 95 5/5)
Julian Müller
vor 23 Tagen
87e1436
integration-tests + full-suite gate SUMMARY (REQ-95-7)
Julian Müller
vor 23 Tagen
b26aecf
log pre-existing i18n failure (Phase 94-02) as deferred — full-suite gate
Julian Müller
vor 23 Tagen
5071042
assert KDG-/DSG-EKD-konform pricing token on landing (REQ-95-5)
Julian Müller
vor 23 Tagen
15f0233
integration coverage for traegertyp rendering + BfDI-negative (REQ-95-7)
Julian Müller
vor 23 Tagen
eb2ca55
complete AVV-Varianten + Verzeichnis-Banner plan
Julian Müller
vor 23 Tagen
460a6c8
Verzeichnis page-level legal-regime banner + traegertyp Rechtsgrundlagen (DS-4)
Julian Müller
vor 23 Tagen
c63dd9e
AVV traegertyp variants in one file via Plan-01 resolvers (DS-3)
Julian Müller
vor 23 Tagen
7b111f8
validate traegertyp param + expose Plan-01 resolvers in DsgvoController
Julian Müller
vor 23 Tagen
43b18f1
complete DSE-Textbaustein-Trägertyp-Varianten plan
Julian Müller
vor 23 Tagen
f71614e
switch dse_generator texts to paragraph interpolation + disclaimer
Julian Müller
vor 23 Tagen
f5180f0
interpolate trägertyp paragraphs in build_dse_block from resolvers
Julian Müller
vor 23 Tagen
59fa147
add failing trägertyp-paragraph tests for build_dse_block
Julian Müller
vor 23 Tagen
155ce58
complete Pricing-Trust-Snippet + Landing-FAQ-Item plan
Julian Müller
vor 23 Tagen
1abc413
add 'KDG-/DSG-EKD-konform?' landing FAQ item (D-6)
Julian Müller
vor 24 Tagen
89f3bd1
add KDG-/DSG-EKD-konform token to pricing trust line (D-5)
Julian Müller
vor 24 Tagen
a53f8bc
complete Trägertyp-Enum + Rechtsgrundlagen-Resolver plan
Julian Müller
vor 24 Tagen
f2cc1be
add Trägertyp select to organisation form + permit-list + i18n + fixture
Julian Müller
vor 24 Tagen
a7c4e0c
implement str_traegertyp enum + 8 Rechtsgrundlagen resolvers
Julian Müller
vor 24 Tagen
057c6c4
add failing tests for str_traegertyp enum + 8 Rechtsgrundlagen resolvers
Julian Müller
vor 24 Tagen
2595798
add additive reversible str_traegertyp column to organisations
Julian Müller
vor 24 Tagen
be17cdf
create phase plan — KDG/DSG-EKD-Konformität (5 Pläne, 4 Wellen)
Julian Müller
vor 24 Tagen
f7d90db
verification — 13/13 automated must-haves PASS; 2 owner-UAT items pending
Julian Müller
vor 24 Tagen
43b0dd6
track pending owner-UAT items (Phase 94)
Julian Müller
vor 24 Tagen
9c14007
complete validity ampel UI plan
Julian Müller
vor 24 Tagen
6db0e90
surface three-qualification ampel in _juleica_status + render assertion
Julian Müller
vor 24 Tagen
f5be6c4
graduated qualification ampel from model helpers
Julian Müller
vor 24 Tagen
821f987
complete daily QualificationExpiryCheckJob plan
Julian Müller
vor 24 Tagen
00f835a
implement QualificationExpiryCheckJob + schedule + notification i18n
Julian Müller
vor 24 Tagen
b812273
add failing test for QualificationExpiryCheckJob
Julian Müller
vor 24 Tagen
2fd3d8b
implement QualificationExpiryMailer#warnung + templates
Julian Müller
vor 24 Tagen
9c56c68
add failing test for QualificationExpiryMailer#warnung
Julian Müller
vor 24 Tagen
5102b0c
add LIVE-safe qualification_expiry_notifications dedup marker table
Julian Müller
vor 24 Tagen
bfcf604
complete validity-SSOT plan — SUMMARY + STATE + ROADMAP
Julian Müller
vor 24 Tagen
bda5f6b
register qualification_expiry in Notification::NOTIFICATION_TYPES
Julian Müller
vor 24 Tagen
19b4109
add validity constants + *_expiry_status helpers to BetreuerUser
Julian Müller
vor 24 Tagen
3b5419e
add failing boundary tests for *_expiry_status helpers + qualification_expiry type
Julian Müller
vor 24 Tagen
8527b4a
create phase plan — Juleica-Ablauf-Monitoring (3 plans, 3 waves)
Julian Müller
vor 24 Tagen
399426b
research phase domain — Juleica/Compliance expiry monitoring
Julian Müller
vor 24 Tagen
44cc8cf
mark phase COMPLETE — verification passed (autonomous set 1/5)
Julian Müller
vor 24 Tagen
959e825
verification PASSED 9/9 — i18n complete, REQ-07 validation errors fixed
Julian Müller
vor 24 Tagen
fd2a2a3
track completion — STATE/ROADMAP (gate flipped, phase 5/5)
Julian Müller
vor 24 Tagen
4c8402c
complete i18n enforcement gate plan
Julian Müller
vor 24 Tagen
874db86
log pre-existing demo-boundary 404s as out-of-scope
Julian Müller
vor 24 Tagen
8df6078
enable raise_on_missing_translations gate in test env
Julian Müller
vor 24 Tagen
f7b6b81
add i18n completeness guard against missing-key regressions
Julian Müller
vor 24 Tagen
6e54417
complete Validierungsfehler-i18n plan (REQ-83.2-07)
Julian Müller
vor 24 Tagen
03395b7
regression guard for German validation-error i18n
Julian Müller
vor 24 Tagen
706d914
sweep activerecord.attributes — German field names for all models
Julian Müller
vor 24 Tagen
e2cf641
add errors.messages.required — fixes all 67 belongs_to models
Julian Müller
vor 24 Tagen
e378a22
add validation-i18n detection harness (runner script)
Julian Müller
vor 24 Tagen
ec11604
complete Category-B i18n wrapping plan — SUMMARY + STATE/ROADMAP
Julian Müller
vor 24 Tagen
1ebf8bc
wrap all non-admin placeholders in t()
Julian Müller
vor 24 Tagen
beb930f
wrap non-admin controller flash messages in t()
Julian Müller
vor 24 Tagen
d461c2d
wrap hardcoded submit buttons in t() (non-admin)
Julian Müller
vor 24 Tagen
1af53bd
track progress — STATE/ROADMAP (static+dynamic i18n sweep complete)
Julian Müller
vor 24 Tagen
5fc14f8
complete static+dynamic i18n key sweep plan
Julian Müller
vor 24 Tagen
fee6d11
complete dynamic enum i18n family (notification_types.payment_overdue_warning)
Julian Müller
vor 24 Tagen
6d8c23d
fill all static missing i18n keys (Category A)
Julian Müller
vor 24 Tagen
8105974
track Plan 01 complete — STATE + ROADMAP
Julian Müller
vor 24 Tagen
ecd220d
SUMMARY — i18n detection harness complete
Julian Müller
vor 24 Tagen
2235f70
capture i18n missing/unused baseline
Julian Müller
vor 24 Tagen
a99bcd1
add i18n-tasks config for German-only single locale
Julian Müller
vor 24 Tagen
e9341d5
add i18n-tasks gem to dev/test group
Julian Müller
vor 24 Tagen
4925511
update internal slug refs in plan files to match renamed dir
Julian Müller
vor 24 Tagen
ec7a650
commit REQ-83.2-07 research addendum (validation-error i18n)
Julian Müller
vor 24 Tagen
82f6324
rename Phase 96 dir so GSD resolves it (8a slug-prefix bug)
Julian Müller
vor 24 Tagen
79ce836
CONTEXT auto-plan-ready — research resolutions + 4 Owner decisions locked
Julian Müller
vor 24 Tagen
68d8ffe
research phase — Open Questions resolved, domain model proposed
Julian Müller
vor 24 Tagen
cc5a71e
clarify Task 3 attributes-grep assertion (plan-checker WARNING)
Julian Müller
vor 24 Tagen
48548ac
provisional CONTEXT for Phases 85.2.3, 91, 99 (dep-blocked, marked assumptions)
Julian Müller
vor 24 Tagen
9f64c29
add plan 05 (Validierungsfehler-i18n REQ-83.2-07) + wire 04 depends_on
Julian Müller
vor 24 Tagen
fe57d67
remove lingering empty Phase 81 dir (relocated to BACKLOG 999.32)
Julian Müller
vor 24 Tagen
e4800f2
Phase 93 → BACKLOG; Phase 95 CONTEXT (full scope, D-2 included)
Julian Müller
vor 24 Tagen
f2889d3
mark Phase 82.1 SUPERSEDED (folded into Phase 100), drop from open list
Julian Müller
vor 24 Tagen
b547230
fold Validierungsfehler-i18n cluster into scope (Owner-Report) + REQ-83.2-07
Julian Müller
vor 24 Tagen
d06a35f
mark phase COMPLETE — Owner-UAT pass (5/5 plans + VERIFICATION passed)
Julian Müller
vor 24 Tagen
20f7cfc
gap-closure 102-05 complete — security tests migrated off deleted routes (SUMMARY + tracking)
Julian Müller
vor 24 Tagen
196e690
remove obsolete GET-show Ereignistyp IDOR tests (show route deleted)
Julian Müller
vor 24 Tagen
dd6a82c
migrate SEC-85.1-2 index-leak test to org-tab read surface
Julian Müller
vor 24 Tagen
0724e25
migrate ereignistyp auth/accessibility tests to org-tab read surface
Julian Müller
vor 24 Tagen
7870b83
add gap-closure plan 102-05 (migrate cross-file security tests off deleted index/show routes)
Julian Müller
vor 24 Tagen
76df033
complete Ereignistyp org-tab plan — STATE + ROADMAP
Julian Müller
vor 24 Tagen
81e3d47
SUMMARY — Ereignistyp org-tab reachable + forms polished
Julian Müller
vor 24 Tagen
8dccd82
polish ereignistyps new/edit/_form to design system (REQ-102-UI-01)
Julian Müller
vor 24 Tagen
2971258
wire Ereignistyp org-tab nav + card-list partial (D-01, REQ-102-REACH-01)
Julian Müller
vor 24 Tagen
3e27acd
add ereignistyp tab branch + ordered org-scoped @ereignistyps load
Julian Müller
vor 24 Tagen
8b01deb
wave 1 complete — 102-02 validations + controller rewire + cascade (SUMMARY + tracking)
Julian Müller
vor 24 Tagen
30e7295
merge Ereignistyp i18n keys into existing views.ereignistyp block (D-06)
Julian Müller
vor 24 Tagen
fea4c14
narrow ereignistyps route + delete scaffold read views (D-04)
Julian Müller
vor 24 Tagen
cd53505
rewire EreignistypsController — tab redirects, i18n, rename-cascade
Julian Müller
vor 24 Tagen
1036a44
add presence + scoped case-insensitive uniqueness to Ereignistyp
Julian Müller
vor 24 Tagen
73125cd
wave 0 complete — 102-01 RED test scaffold (SUMMARY + tracking)
Julian Müller
vor 24 Tagen
146fa57
extend ereignistyp model test with validation contract (RED)
Julian Müller
vor 24 Tagen
2721b4a
extend organisations controller test for ereignistyp tab (RED)
Julian Müller
vor 24 Tagen
a6c2864
rewrite ereignistyps controller test for tab redirects + rename-cascade (RED)
Julian Müller
vor 24 Tagen
344b2a3
record phase 102 planning session
Julian Müller
vor 24 Tagen
d8606c5
apply plan-checker polish (Task 3 extend-not-create + RESEARCH open-questions resolved)
Julian Müller
vor 24 Tagen
d4b9ef1
add phase plans (4 plans, 4 waves) + REQ-IDs + validation map
Julian Müller
vor 24 Tagen
75c2728
add research + validation strategy
Julian Müller
vor 24 Tagen
1754360
research phase — Ereignistypen Org-tab relocation + rename-cascade + uniqueness
Julian Müller
vor 24 Tagen
5169b5a
record phase 102 context session
Julian Müller
vor 24 Tagen
da38afc
capture phase context
Julian Müller
vor 24 Tagen
621a988
mark phase COMPLETE — Owner-UAT freigegeben (18/18 plans + UG-1..UG-5)
Julian Müller
vor 24 Tagen
e943883
record UG-5 (AuditLog toggle_blocked) resolved inline + clean gap-closure regression
Julian Müller
vor 24 Tagen
4bb5d01
add toggle_blocked to AuditLog::ACTION_TYPES (UG-5)
Julian Müller
vor 24 Tagen
b0e8b78
track progress — STATE/ROADMAP + SUMMARY (UG-3 policy alias + UG-4 pagination comment)
Julian Müller
vor 24 Tagen
5e2826d
UG-4 — remove stray %> from pagination partial ERB comment
Julian Müller
vor 24 Tagen
43fee20
UG-3 — abgeschlossene action: alias policy rule + set @berechtigung_teilnehmers
Julian Müller
vor 24 Tagen
1e4b547
track progress — STATE/ROADMAP + SUMMARY (UG-1 + UG-2 complete)
Julian Müller
vor 24 Tagen
61b852e
UG-2 — remove Anwesenheitszeitraum top-nav; add admin Dashboard tile
Julian Müller
vor 24 Tagen
ff30371
UG-1 — remove unrelease button; harden toggle_release; clean i18n
Julian Müller
vor 24 Tagen
038725c
harden gap-plan verify gates (plan-checker: 2 blockers + 2 warnings)
Julian Müller
vor 24 Tagen
311e66c
gap-closure plans 17-18 for Owner-UAT (UG-1..UG-4)
Julian Müller
vor 24 Tagen
a1b9858
track 99-bug phase scaffold .gitkeep
Julian Müller
vor 24 Tagen
18d0eb3
track stray .planning artifacts; gitignore test ActiveStorage blob store
Julian Müller
vor 24 Tagen
ced48ec
record Owner-UAT passes (gesperrt, demo, Kosten) + abgeschlossen→UG-3
Julian Müller
vor 24 Tagen
77bd6c9
capture Owner-UAT gaps UG-1..UG-4 (freischalten button, nav→dashboard, abgeschlossen, stale %>)
Julian Müller
vor 24 Tagen
a93ed0f
mark phase AUSGEFUEHRT — UAT pending (16/16 plans, verifier 20/20, regression clean)
Julian Müller
vor 24 Tagen
8c1a762
add VERIFICATION.md (20/20 source-verified) + regression-gate note
Julian Müller
vor 24 Tagen
67f4c3a
update schedule_controller_test to schedule_url (F-18 route rename regression)
Julian Müller
vor 24 Tagen
f07b1f4
track progress — STATE/ROADMAP + SUMMARY (C-Pagination rollout complete; 16/16 plans)
Julian Müller
vor 24 Tagen
c7f6729
paginate remaining 9 index actions (Task 2, F-10 rollout complete)
Julian Müller
vor 24 Tagen
314e451
paginate first 9 index actions + include PaginationHelper in ApplicationController
Julian Müller
vor 24 Tagen
5b25211
track progress — STATE/ROADMAP + SUMMARY (C-i18n complete)
Julian Müller
vor 24 Tagen
ff22e22
i18n-wrap Teilnehmer-view English labels → de.yml
Julian Müller
vor 24 Tagen
e327f33
track progress — STATE/ROADMAP + SUMMARY (C-ShowPages triage complete)
Julian Müller
vor 24 Tagen
831e725
triage + redirect-Ziel Ereignistypen→Index + Freizeit-Save weg von deprecated Show (Task 2)
Julian Müller
vor 24 Tagen
6c9deda
switch save-redirects from Show to Index for Vorgang-/Listen-Models (Task 1)
Julian Müller
vor 24 Tagen
c1eb4c5
track progress — STATE/ROADMAP + SUMMARY (C-Routing+Bug500 complete)
Julian Müller
vor 24 Tagen
747aafb
BetreuerAnwesenheiten#index 500 beheben — komponierter Freizeit-Name (F-19)
Julian Müller
vor 24 Tagen
4d196a7
Schedule-Route auf Standard /schedule umstellen (F-18)
Julian Müller
vor 24 Tagen
e765b65
track progress — STATE/ROADMAP + SUMMARY (C-Abrechnung complete)
Julian Müller
vor 24 Tagen
dd4d49d
scope BetreuerAbrechnungsController#index on current_freizeit (Phase-83-Restscope)
Julian Müller
vor 24 Tagen
d5b5adf
fix F-14 operator-precedence bug — Auszahlung = Pauschale − Spende (GREEN)
Julian Müller
vor 24 Tagen
a9216de
add failing tests for c_auszahlung (RED)
Julian Müller
vor 24 Tagen
e683dbb
track progress — STATE/ROADMAP + SUMMARY (C-Kuechendienst print complete; Wave 1 done)
Julian Müller
vor 24 Tagen
1513e95
scope Küchendienst print to selected day only
Julian Müller
vor 24 Tagen
969e0ec
track progress — STATE/ROADMAP + SUMMARY (C-CSS + mobile + filter-collapse complete)
Julian Müller
vor 24 Tagen
266e097
mobile w-full Buttons + einklappbare Teilnehmer-Filterleiste
Julian Müller
vor 24 Tagen
335c827
F-02 Kachel-Umbruch + F-04 Rollen-Header + F-15 Gaesteliste-Buttons
Julian Müller
vor 24 Tagen
d1201bd
track progress — STATE/ROADMAP + SUMMARY (C-Anwesenheit complete)
Julian Müller
vor 24 Tagen
cc8c88f
83-Restscope tote Info-Buttons entfernen (_form.html.erb)
Julian Müller
vor 24 Tagen
8f11271
F-07 Anwesenheits-Eintraege default eingeklappt + Kurzuebersicht
Julian Müller
vor 24 Tagen
32e4b88
track progress — STATE/ROADMAP + SUMMARY (C-Demo cloner rebase complete)
Julian Müller
vor 24 Tagen
88081fe
Task 2 — thread offset_days through all remaining dated clone_* methods (D-5)
Julian Müller
vor 24 Tagen
bb0857e
RED — failing tests for D-5 date rebase (shift helper, midpoint, dt_date_of_birth)
Julian Müller
vor 24 Tagen
1d991d2
track progress — STATE/ROADMAP + SUMMARY (C-IA cleanup complete)
Julian Müller
vor 24 Tagen
a4aab23
F-20 BetreuerAnwesenheiten-Nav-Einstieg fuer Admin/Owner
Julian Müller
vor 24 Tagen
d962f0c
F-05e Ansagen auf Dashboard + F-01 Quiz-Redirect auf Dashboard
Julian Müller
vor 24 Tagen
7449b79
D-3 freizeit-partial bereinigt + D-4 Notfallmappe in Dokumente
Julian Müller
vor 24 Tagen
7ca1438
sync demo_schema.rb with b_blocked column (migration footprint)
Julian Müller
vor 24 Tagen
e1d6ee7
track progress — STATE/ROADMAP + SUMMARY (C-Betreuer gesperrt complete)
Julian Müller
vor 24 Tagen
661c9cf
Gesperrt-Badge + sperren/entsperren-Button in _betreuer_card (Task 3)
Julian Müller
vor 24 Tagen
f4acbf2
sperren/entsperren action + route + policy + i18n (Task 2)
Julian Müller
vor 24 Tagen
813e578
add b_blocked migration + Devise login-block gate for gesperrt (GREEN)
Julian Müller
vor 24 Tagen
3ab28ec
add failing tests for gesperrt? / b_blocked login-block (RED)
Julian Müller
vor 24 Tagen
863753c
track progress — STATE/ROADMAP + SUMMARY (C-Turbo complete)
Julian Müller
vor 24 Tagen
7ce6a31
83-Restscope Neuer-Ausgehvorgang-Link Frame-Ausbruch
Julian Müller
vor 24 Tagen
3b7c730
F-17 Benachrichtigungs-Titel-Link bricht aus turbo_frame aus
Julian Müller
vor 24 Tagen
4e09d76
track progress — STATE/ROADMAP + SUMMARY (C-Ausgeh/Berechtigung complete)
Julian Müller
vor 24 Tagen
519d58c
verify show? allows abgeschlossene Ausgehvorgaenge (83-Restscope)
Julian Müller
vor 24 Tagen
4f3c0f3
nil-safe Berechtigung-Tab mit Empty-State (F-09a)
Julian Müller
vor 24 Tagen
5d7308d
remove redundant action: :index from ausgeh_vorgangs_abgeschlossen route
Julian Müller
vor 24 Tagen
83dc006
track progress — STATE/ROADMAP + SUMMARY (C-Alerts complete)
Julian Müller
vor 24 Tagen
624ab67
delete dead partials/_flash.html.erb (F-12)
Julian Müller
vor 24 Tagen
8015e81
remove per-view flash AlertComponent renders — 30 views
Julian Müller
vor 24 Tagen
028a955
track progress — STATE/ROADMAP + SUMMARY (C-Pagination foundational)
Julian Müller
vor 24 Tagen
620386a
shared pagination partial + per-page selector + fix F-09b blue paginator
Julian Müller
vor 24 Tagen
07ddc4a
add pagy initializer (default 20) + per-page whitelist helper
Julian Müller
vor 25 Tagen
a91e72b
track progress — STATE/ROADMAP + SUMMARY (C-Format complete)
Julian Müller
vor 25 Tagen
0339d11
Teilnehmer-Datum DE-Format via Model-Methoden (F-13b)
Julian Müller
vor 25 Tagen
a0bf00d
DE number-Block in de.yml + normalize_comma_floats! härten (F-06)
Julian Müller
vor 25 Tagen
4bbda9c
resolve plan-checker findings (4 blockers + 3 verify warnings)
Julian Müller
vor 25 Tagen
ac42f07
create remaining fix plans 06-16 + roadmap
Julian Müller
vor 25 Tagen
ea4e78b
add plans 01-05 (Format, Pagination, Alerts, Abrechnung, Routing+Bug500)
Julian Müller
vor 25 Tagen
65595e8
plan+summary+state; mark 101.1 F-21 resolved
Julian Müller
vor 25 Tagen
d50e75b
remove dead route + orphaned i18n key
Julian Müller
vor 25 Tagen
c4f4322
delete InaktiveAusgehVorgaenge scaffold (6 files)
Julian Müller
vor 25 Tagen
dd0e4ca
verify F-08/F-21 — abgeschlossen feature already exists as tab
Julian Müller
vor 25 Tagen
935646d
complete — Owner-UAT PASS 2026-06-27
Julian Müller
vor 25 Tagen
8523d63
add F-21 — InaktiveAusgehVorgaenge dead scaffold (recommend removal)
Julian Müller
vor 25 Tagen
d9ef279
add Phase 102 (Ereignistypen) + log F-17..F-20 in 101.1
Julian Müller
vor 25 Tagen
dbbdd6d
combine Phase 83 into 101.1 (canonical bugfix Sammelphase)
Julian Müller
vor 25 Tagen
9bb35a0
de-stale phase headers for progress report
Julian Müller
vor 25 Tagen
809cd72
de-stale Phase 101.1 block to diagnosed state
Julian Müller
vor 25 Tagen
2ed6e23
plan + summary + state for AVV-Muster page
Julian Müller
vor 25 Tagen
46fe115
reconcile checkbox drift + move 81 to backlog
Julian Müller
vor 25 Tagen
f3432c0
add AVV (Muster) footer link under Rechtliches
Julian Müller
vor 25 Tagen
e966640
add avv_muster view + I18n keys (views.avv_muster)
Julian Müller
vor 25 Tagen
e509860
add public /avv-muster route + PagesController#avv_muster
Julian Müller
vor 25 Tagen
99e4ab6
add show record breadcrumb to RotationsplaeneController
Julian Müller
vor 25 Tagen
f8dd575
add show/edit/new action-level breadcrumbs to Strandwachen+Nachtwachen Vorgangs controllers
Julian Müller
vor 25 Tagen
54bd840
add show/edit/new/rules action-level breadcrumbs to FreizeitsController
Julian Müller
vor 25 Tagen
66479d2
add show/edit/new action-level breadcrumbs to TeilnehmersController
Julian Müller
vor 25 Tagen
393116e
breadcrumbs on StrandwachenEreignisseController show/new/edit
Julian Müller
vor 25 Tagen
216d897
breadcrumbs on NachtwachenEreignisseController show/new/edit
Julian Müller
vor 25 Tagen
a4f9d8a
breadcrumbs on KrisenVorgangZugriffsController#index
Julian Müller
vor 25 Tagen
473bee6
QuizSessionsController new/show breadcrumbs (Freizeit parent)
Julian Müller
vor 25 Tagen
4713371
GaestelistesController#index breadcrumb via before_action
Julian Müller
vor 25 Tagen
3486de9
RueckmeldungenController#index breadcrumb chain
Julian Müller
vor 25 Tagen
e472167
add parent-anchored breadcrumbs to Massen-* controllers
Julian Müller
vor 25 Tagen
03def4c
add profile-edit breadcrumb to BetreuerUsersController
Julian Müller
vor 25 Tagen
3dcbb60
add breadcrumbs to BetreuerAnwesenheitenController
Julian Müller
vor 25 Tagen
d0d01d2
add index breadcrumbs to Notifications, Schedule, InaktiveAusgehVorgaenge
Julian Müller
vor 25 Tagen
6808219
add breadcrumbs to MetaEntriesController (public show guarded)
Julian Müller
vor 25 Tagen
1872b94
add breadcrumbs to AbrechnungsController + EreignistypsController
Julian Müller
vor 25 Tagen
3a0184a
add 11 breadcrumb i18n label keys to de.yml
Julian Müller
vor 25 Tagen
26a35ff
resolve plan-checker findings + record planning complete
Julian Müller
vor 25 Tagen
173b492
create phase plan — breadcrumb retrofit (7 plans, 3 waves)
Julian Müller
vor 25 Tagen
eab6d6d
record owner decisions (D-1..D-5) — all clusters unblocked
Julian Müller
vor 25 Tagen
65537b4
add F-16 (Demo-Datum) + DIAGNOSIS.md (Ursachen verifiziert)
Julian Müller
vor 25 Tagen
fc45702
insert Bugfix Sammelphase + FINDINGS inventory (diagnose-only)
Julian Müller
vor 25 Tagen
4fd89e7
add Phase 101 — Breadcrumb-Navigation konsequent über alle Module
Julian Müller
vor 25 Tagen
e7fb544
add Breadcrumbs convention (breadcrumbs_on_rails)
Julian Müller
vor 25 Tagen
7bd4597
insert Browser-Smoke-Test phase + FINDINGS inventory (diagnose-only)
Julian Müller
vor 25 Tagen
dcc389e
Feedback dashboard module — PLAN + SUMMARY + STATE row
Julian Müller
vor 25 Tagen
814d23a
add Feedback module to dashboard Verwaltung group (owners+admins)
Julian Müller
vor 25 Tagen
0f447d1
refresh stale roadmap state — Phase 100 AVV UAT + 85.2.2.1 backups LIVE
Julian Müller
vor 25 Tagen
1ba9a15
SUMMARY (G-5 AVV UX consolidation into the tab); UAT G-5 marked fixed
Julian Müller
vor 26 Tagen
c781c51
consolidate AVV UX into the tab; fix invisible icons, dead-end nav, ugly PDF (G-5)
Julian Müller
vor 26 Tagen
8f0b84a
plan G-5 gap closure — alles in den AVV-Tab (redirects, orphan removal, PDF format, test migration)
Julian Müller
vor 26 Tagen
390ffcf
UAT G-5 (major) — AVV show/sign UX cluster (broken icons, orphan show page, redundant §6, dead-end nav, ugly PDF); de...
Julian Müller
vor 26 Tagen
714392e
SUMMARY (G-4 read==signed==hashed + §10(3)); UAT G-4 marked fixed
Julian Müller
vor 26 Tagen
9a3d42b
AVV read==signed==hashed — freeze resolved full text into snapshot; §10(3) proportionate (G-4)
Julian Müller
vor 26 Tagen
edbd98a
create gap-closure plan for G-4 (read==signed==hashed AVV)
Julian Müller
vor 26 Tagen
c31f75f
UAT G-4 (blocker) — read-text != signed PDF, hash misses contract wording; §10(3) + netcup review
Julian Müller
vor 26 Tagen
d301d5a
SUMMARY 100-08 (G-3 AVV readability) + 100-09 (G-2 org redirect); UAT gaps marked fixed
Julian Müller
vor 26 Tagen
0538acb
AVV-Volltext im Sign-Flow + Tab lesbar; native turbo_confirm → In-App-Modal (G-3)
Julian Müller
vor 26 Tagen
4d33e13
remove dead 'Anzeigen' (show) button from org edit form (G-2 follow-up)
Julian Müller
vor 26 Tagen
b7eb9c1
org-edit save redirects to index; remove single-org show page (G-2)
Julian Müller
vor 26 Tagen
cdea3c6
gap-closure plans 100-08 (AVV-Volltext lesbar) + 100-09 (Org-Edit Redirect→Index)
Julian Müller
vor 26 Tagen
4f27343
UAT G-2 (org redirect→index/remove show) + G-3 (AVV legal: contract text not readable, blocker)
Julian Müller
vor 26 Tagen
6633d72
PLAN + SUMMARY for AVV banner redesign
Julian Müller
vor 26 Tagen
f93de6c
redesign AVV soft-gate banner as high-contrast card
Julian Müller
vor 26 Tagen
bdeeba6
gap-closure PLAN + SUMMARY; UAT G-1 marked fixed (awaiting re-test)
Julian Müller
vor 26 Tagen
fbc4a38
relocate avv_gate i18n block from views.kuechendienst to views.freizeit
Julian Müller
vor 26 Tagen
1055709
UAT partial — G-1 avv_gate i18n misplacement (Tests 6+7 issue), diagnosed
Julian Müller
vor 26 Tagen
27225a7
UAT G-1 — avv_gate i18n block under wrong parent (kuechendienst vs freizeit), Tests 6+7 fail
Julian Müller
vor 26 Tagen
c9d4f20
author HUMAN-UAT plan — 9 manual acceptance tests for AVV signable flow
Julian Müller
vor 26 Tagen
d03bac8
VERIFICATION PASSED — AVV signable-flow goal achieved (15/15)
Julian Müller
vor 26 Tagen
506584f
mark plan 100-06 complete on ROADMAP — all 6 plans done
Julian Müller
vor 26 Tagen
060b712
complete re-sign currency gates + integration tests SUMMARY
Julian Müller
vor 26 Tagen
5a77f37
D-14 re-sign gate + soft banner + resign gate test GREEN
Julian Müller
vor 26 Tagen
1cb292a
mark plan 100-05 complete on ROADMAP
Julian Müller
vor 26 Tagen
20d7127
SUMMARY — AVV tab UI + sign modal complete (Wave 4)
Julian Müller
vor 26 Tagen
bfa4030
AVV tab partial + sign modal + Stimulus controller
Julian Müller
vor 26 Tagen
a26dae3
wire AVV tab into orgaheader dispatcher + Org form fields + de.yml
Julian Müller
vor 26 Tagen
638e9d0
mark plan 100-04 complete on ROADMAP
Julian Müller
vor 26 Tagen
e709ea5
SUMMARY — AVV conclusion engine complete (Wave 3)
Julian Müller
vor 26 Tagen
92b63c6
org-nested AVV conclusion controller + routes + views (Wave 3)
Julian Müller
vor 26 Tagen
c06d9e3
add AvvVertragPdf prawn generator (renders from snapshot)
Julian Müller
vor 27 Tagen
3a6ac67
mark plan 100-03 complete on ROADMAP
Julian Müller
vor 27 Tagen
4bf03b4
complete plan 03 — AvvVertragPolicy + AvvVorlage v1 seed SUMMARY
Julian Müller
vor 27 Tagen
0264153
seed AvvVorlage v1 — resolved §1–§11 body + idempotent
Julian Müller
vor 27 Tagen
b8a7be2
implement AvvVertragPolicy — owner-only sign? + cross-org deny
Julian Müller
vor 27 Tagen
53f1e30
mark plan 100-02 complete on ROADMAP
Julian Müller
vor 27 Tagen
996adc0
SUMMARY — AVV model layer complete (Wave 1)
Julian Müller
vor 27 Tagen
3810cc4
extend AuditLog with avv_signed ACTION_TYPE + str_previous_hash
Julian Müller
vor 27 Tagen
05afbef
add AvvVertrag signed-instance model + Organisation association
Julian Müller
vor 27 Tagen
a85a081
add AvvVorlage immutable versioned template model
Julian Müller
vor 27 Tagen
15a2f06
mark plan 100-01 complete on ROADMAP
Julian Müller
vor 27 Tagen
a319836
SUMMARY — AVV schema foundation complete (Wave 0)
Julian Müller
vor 27 Tagen
53ceee3
RED Nyquist Wave-0 stubs for AVV phase
Julian Müller
vor 27 Tagen
af7a2da
German inflections + AVV schema foundation (Wave 0)
Julian Müller
vor 27 Tagen
9843281
plan AVV signable-flow phase — 6 plans, fold 82.1
Julian Müller
vor 27 Tagen
d39527a
capture phase context — AVV signable-flow decisions
Julian Müller
vor 27 Tagen
06ccb05
research AVV (Art. 28 DSGVO) signable e-signature flow
Julian Müller
vor 27 Tagen
6f428f8
lock AVV delivery-surface to signable e-signature flow
Julian Müller
vor 27 Tagen
5d7c801
add Phase 100 — AVV (Auftragsverarbeitungsvertrag, Art. 28 DSGVO)
Julian Müller
vor 27 Tagen
d40874f
SUMMARY — first restore drill PASS, phase 85.2.2.1 COMPLETE
Julian Müller
vor 27 Tagen
0ad3d1c
record 2026-Q2 restore drill (PASS) + fix RESTORE-RUNBOOK §3 for Debian
Julian Müller
vor 27 Tagen
8023c16
SUMMARY — pgBackRest PITR install complete on prod (live)
Julian Müller
vor 27 Tagen
2d864cc
SUMMARY — privilege-decoupling complete + verified on prod
Julian Müller
vor 27 Tagen
a954944
run backup:smoke_test in build phase via fetch(:rake), fail-safe
Julian Müller
vor 27 Tagen
debab59
scope on:launch backup:smoke_test to RAILS_ENV=production
Julian Müller
vor 27 Tagen
00ca087
migrate BackupCheckJob test to the status-file contract
Julian Müller
vor 27 Tagen
39ec059
rewire INSTALL-RUNBOOK to the status-writer architecture
Julian Müller
vor 27 Tagen
cb3888d
read backup status file instead of invoking pgbackrest (GREEN)
Julian Müller
vor 27 Tagen
3bd5c8e
rewrite backup task tests to status-file contract (RED)
Julian Müller
vor 27 Tagen
67ee91a
plan backup-monitoring privilege-decoupling (status-file hand-off)
Julian Müller
vor 27 Tagen
73087ae
pin RAILS_ENV=production on runner/rake invocations in INSTALL-RUNBOOK
Julian Müller
vor 27 Tagen
40d233c
record .pgpass auth deviation + Ubuntu-native PG note in INSTALL-RUNBOOK
Julian Müller
vor 27 Tagen
f712280
author Plan 02 SUMMARY — deploy hook + cipher pass + runbooks complete
Julian Müller
vor 27 Tagen
b58c08b
store pgbackrest repo cipher pass in encrypted credentials
Julian Müller
vor 27 Tagen
99e2b43
author INSTALL-RUNBOOK, RESTORE-RUNBOOK, CIPHER-KEY-RECOVERY + restore-drills template
Julian Müller
vor 28 Tagen
d9a8a3e
extend on :launch with backup:smoke_test hook (D-15)
Julian Müller
vor 28 Tagen
1c75b05
reconcile SUMMARY for shipped backup-monitoring core
Julian Müller
vor 28 Tagen
8113254
close prod demo-DB verification todo — credentials inserted, demo runs on prod
Julian Müller
vor 29 Tagen
0a8caab
deferred Loading-Screen-Scope auf Phase 85.2.1 zurückführen (war als 85.3 gelabelt)
Julian Müller
vor 29 Tagen
563e0c6
demo_schema-Dump nach b_released-Backfill-Migration synchronisieren
Julian Müller
vor 29 Tagen
fc46804
config/credentials.yml.enc aktualisieren
Julian Müller
vor 29 Tagen
276b253
Freizeit-Formular Dezimalfelder — value:-Attr wiederherstellen (Typo imvalue:) + c_daily_amount_guests Komma-Float-No...
Julian Müller
vor 29 Tagen
f85a527
Mai 2026
replace Minitest::Mock status objects with plain Struct/Object doubles
Julian Müller
vor etwa 2 Monaten
68c3687
summary for registration birthdate input UX
Julian Müller
vor etwa 2 Monaten
8e00124
import birthdate_parse via bare specifier not relative path
Julian Müller
vor etwa 2 Monaten
d201e36
replace raw date_field with custom birthdate control in registration
Julian Müller
vor etwa 2 Monaten
8d219ea
add birthdate parse module + Stimulus controller
Julian Müller
vor etwa 2 Monaten
d834f97
add I18n keys dob_placeholder + dob_open_picker
Julian Müller
vor etwa 2 Monaten
78f4d64
plan + context for registration birthdate input UX
Julian Müller
vor etwa 2 Monaten
76fc4cf
summary for unreleased-betreuer gate
Julian Müller
vor etwa 2 Monaten
6c44558
fixtures + request spec for betreuer-released gate
Julian Müller
vor etwa 2 Monaten
689accd
finalize plans — roadmap plan list + plan-checker fixes
Julian Müller
vor etwa 2 Monaten
50089dd
double-gate for unreleased betreuer + pending screen + I18n
Julian Müller
vor etwa 2 Monaten
8f510d7
GREEN — backup.rake, BackupCheckJob, BackupCheckMailer, recurring.yml
Julian Müller
vor etwa 2 Monaten
9c602d2
create phase plan (4 plans, 4 waves) for app-wide i18n completeness sweep
Julian Müller
vor etwa 2 Monaten
9eaa187
reversible idempotent backfill migration for b_released
Julian Müller
vor etwa 2 Monaten
8eaa80b
RED — BackupChainStale exception, JSON fixtures, and failing test scaffolds
Julian Müller
vor etwa 2 Monaten
28b7e84
pre-dispatch plan + context for unreleased-betreuer gate
Julian Müller
vor etwa 2 Monaten
bbad1ab
add phase research + validation strategy
Julian Müller
vor etwa 2 Monaten
d36c686
add i18n completeness sweep research
Julian Müller
vor etwa 2 Monaten
1ae7411
mark phase planned (4 plans)
Julian Müller
vor etwa 2 Monaten
ec6dab0
annotate stale msmtp install snippet in RESEARCH as deferred
Julian Müller
vor etwa 2 Monaten
450add2
revise plans per checker — log-only Layer A, OQ resolution, BackupCheckJob re-raise, VALIDATION
Julian Müller
vor etwa 2 Monaten
66df061
add join? policy rule so org-less users can join from dashboard
Julian Müller
vor etwa 2 Monaten
37d5781
correct password hint, preserve invite on error, guard age validation
Julian Müller
vor etwa 2 Monaten
00615f9
insert Phase 83.2 — app-weite i18n-Vervollstaendigung
Julian Müller
vor etwa 2 Monaten
29a4c87
insert Phase 82.1 — AVV (Art. 28 DSGVO) generieren & bereitstellen
Julian Müller
vor etwa 2 Monaten
41ef7d4
create phase plan (4 plans, 3 waves) for prod pgBackRest activation
Julian Müller
vor etwa 2 Monaten
d2a96f1
add validation strategy
Julian Müller
vor etwa 2 Monaten
ae61879
amend CONTEXT D-13/D-14 — Solid Queue + ActionMailer alarm path
Julian Müller
vor etwa 2 Monaten
2621d34
add phase research (pgBackRest config, JSON schema, 10 pitfalls)
Julian Müller
vor etwa 2 Monaten
69e582d
bulletproof CTA buttons that survive Outlook desktop dark mode
Julian Müller
vor etwa 2 Monaten
0bbd2d5
wire admin user dropdown via Stimulus instead of (unloaded) Flowbite
Julian Müller
vor etwa 2 Monaten
849d33d
force button color contrast in desktop dark mode
Julian Müller
vor etwa 2 Monaten
7f5bff7
capture phase context
Julian Müller
vor etwa 2 Monaten
ee04b66
phase(85.2.2.1): insert urgent production-rolling-backups phase after 85.2.2 (2026-05-29 data-loss-driven) Inserted ...
Julian Müller
vor etwa 2 Monaten
9c396c1
absolute libURL + 4MB size gate to prevent main-thread compression freeze
Julian Müller
vor etwa 2 Monaten
19450cc
switch tagged-logger block to literal block, avoid lambda arity
Julian Müller
vor etwa 2 Monaten
79146e5
bypass demo connection switching for Devise auth controllers
Julian Müller
vor etwa 2 Monaten
1c0b9b1
force public stats banner to read primary shard, exclude demo rows
Julian Müller
vor etwa 2 Monaten
2a00e0d
guard Rails.logger.tagged on Rails 8 BroadcastLogger
Julian Müller
vor etwa 2 Monaten
16010d9
explicit render() when auto-scan misses Turbo-Stream-inserted forms
Julian Müller
vor etwa 2 Monaten
a4e8b38
add security threat verification — SECURED 6/6, threats_open 0
Julian Müller
vor etwa 2 Monaten
27ba2d9