Commit Graph

204 Commits

Author SHA1 Message Date
schalli 2a79d4ca1f docs(15-05): complete dashboard-widget-modulfilterung plan 2026-08-04 15:39:48 +02:00
schalli c4d7b7ded6 docs(15-02): complete Gruppenverwaltung & Standardgruppen-Mitgliedschaft plan 2026-08-04 15:27:48 +02:00
schalli 79c83eae5f docs(15-01): complete Group/ModuleGrant foundation plan 2026-08-04 15:14:21 +02:00
schalli ac65149964 docs(15): create phase plan 2026-08-04 14:44:05 +02:00
schalli ff22178847 docs(state): record phase 15 UI-SPEC session
Tessera CI/CD / Lint & Type Check (push) Successful in 45s
Tessera CI/CD / Tests (push) Successful in 47s
Tessera CI/CD / Build & Publish Images (push) Successful in 6s
2026-08-04 13:58:34 +02:00
schalli ce96e5a5e7 docs(state): record phase 15 context session 2026-08-04 10:52:41 +02:00
schalli 7e1b4a2964 docs(roadmap): add Phase 15 module permissions (groups & user grants)
Two-level module access: tenant activation stays a prerequisite, plus new
per-group and per-user grants. Records the four design decisions taken with
the user: Tessera-owned groups with optional AD binding, closed-by-default
access, ADMIN/SUPER_ADMIN bypass within their tenant, and access on/off only
(no permission levels inside modules). Starts milestone v1.2.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 08:42:56 +02:00
schalli 97465a6f25 docs(260729-d3k): complete LDAP multi-base-DN quick task 2026-07-29 09:40:29 +02:00
schalli fd9c1bee34 docs(260728-lih): complete LDAP sync selektiv und auto-sync default plan 2026-07-28 15:43:37 +02:00
schalli eff5d26413 docs(14-05): complete i18n rollout for tender-radar plan
Tessera CI/CD / Lint & Type Check (push) Successful in 47s
Tessera CI/CD / Tests (push) Successful in 55s
Tessera CI/CD / Build & Publish Images (push) Successful in 1m51s
2026-07-23 14:23:23 +02:00
schalli a4889f8399 docs(14-04): complete denylist transparency plan 2026-07-23 14:01:12 +02:00
schalli c140d1186a docs(14-03): pause after Tasks 1-3 — Task 4 (live EWS human-verify) OPEN 2026-07-23 13:56:00 +02:00
schalli 6e3789a0b0 docs(14-02): complete RSS ingestion slice plan
Tessera CI/CD / Lint & Type Check (push) Successful in 47s
Tessera CI/CD / Tests (push) Successful in 49s
Tessera CI/CD / Build & Publish Images (push) Successful in 2m15s
2026-07-23 13:33:01 +02:00
schalli a47c0c57ee docs(14-01): complete inbox-module extraction plan 2026-07-23 13:11:21 +02:00
schalli 9dd5038575 docs(state): record phase 14 planning session
Tessera CI/CD / Lint & Type Check (push) Successful in 45s
Tessera CI/CD / Tests (push) Successful in 45s
Tessera CI/CD / Build & Publish Images (push) Successful in 26s
2026-07-23 12:17:58 +02:00
schalli d71a781be0 docs(state): record phase 14 context session 2026-07-23 11:16:23 +02:00
schalli d5128d5759 docs(quick-260723-e7i): complete normalizer-gap-phase-13-schliessen-tende quick task 2026-07-23 10:21:18 +02:00
schalli 7602795622 docs(13-05): complete cosinex/DTVP adapter plan 2026-07-23 09:51:43 +02:00
schalli 775ed153b7 docs(13-04): complete NetServer adapter plan
Tessera CI/CD / Lint & Type Check (push) Successful in 48s
Tessera CI/CD / Tests (push) Successful in 45s
Tessera CI/CD / Build & Publish Images (push) Successful in 3m43s
2026-07-23 09:16:04 +02:00
schalli 2c28605397 docs(13-06): complete multi-source read surface plan 2026-07-23 08:57:25 +02:00
schalli 1c523c039c docs(13-03): complete dedup-resolver-fan-out-wiring plan 2026-07-23 08:53:33 +02:00
schalli 83d8eff40d docs(13-02): complete source-registry-denylist plan 2026-07-23 08:44:53 +02:00
schalli a547a1d31d docs(13-01): complete fingerprint + TenderSource datenkern plan 2026-07-23 08:40:47 +02:00
schalli 0dd104054b docs(12): phase verified — live email UAT passed (digest sent via tenant SMTP, no double-send)
Tessera CI/CD / Lint & Type Check (push) Successful in 45s
Tessera CI/CD / Tests (push) Successful in 45s
Tessera CI/CD / Build & Publish Images (push) Successful in 3m45s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 09:57:20 +02:00
schalli 314e83f5c1 docs(12-04): complete digest-interval + Sofort-Alert UI plan 2026-07-22 09:32:45 +02:00
schalli 1a0cd375c2 docs(12-03): complete instant-alert dispatch plan 2026-07-22 09:23:21 +02:00
schalli f509bf4948 docs(12-02): complete digest-mail plan 2026-07-22 09:16:22 +02:00
schalli 4823c245ee docs(12-01): complete schema + delta-only matching plan 2026-07-22 09:07:06 +02:00
schalli d874d8a24f docs(11): phase verified — live browser UAT passed, status human_needed -> passed
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 08:02:48 +02:00
schalli f7a2bfd3d8 docs(11-06): complete Persönliche Suchprofile plan 2026-07-21 16:53:08 +02:00
schalli 421fe00ed9 docs(11-05): complete Persönliche Triage plan 2026-07-21 16:40:22 +02:00
schalli 4c22d7731a docs(11-04): complete Detailansicht plan 2026-07-21 16:23:38 +02:00
schalli acd7e55094 docs(11-03): complete CPV-Divisions-Katalog + Wert-Filter-UI plan 2026-07-21 16:16:59 +02:00
schalli a4c02116c1 docs(11-02): complete region/plz/bundesland filter plan 2026-07-21 16:05:25 +02:00
schalli 3e064e0124 docs(11-01): complete query-engine + results-ui + coverage-banner plan 2026-07-21 15:57:25 +02:00
schalli 34b8df28d5 docs(11): validation strategy + state update — plans PASS, ready to execute
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:28:02 +02:00
schalli 48d1246043 fix(10): resolve GET /source-config 404 shadowed by :id route
The admin source-config settings form failed to load with "Failed to
fetch tender-radar source config". Network trace showed
GET /modules/tender-radar/source-config returning 404.

Root cause: NestJS RouterExplorer maps routes in method-declaration
order. `@Get(':id')` was declared before `@Get('source-config')`, so
the param route captured "source-config" as an id and shadowed the
static handler (401 unauthenticated, 404 past the guard — no Tender
with id "source-config").

Fix: declare `@Get('source-config')` before `@Get(':id')`. Add a
declaration-order regression test — unit tests call controller methods
directly, bypass routing, and could never catch route shadowing.

Verified live: settings form now loads real config, interval save
persists and live-re-registers the scheduler (INGEST-06). Phase 10
verification raised human_needed -> passed after full browser UAT.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 14:52:17 +02:00
schalli 4f3c6cf5e9 docs(10-06): complete tender-radar admin settings UI plan 2026-07-21 11:27:31 +02:00
schalli 6d6302294e docs(10-05): complete tenders controller plan 2026-07-21 11:21:52 +02:00
schalli 9227cc9e78 docs(10-04): complete ingestion orchestration & multi-tenant-safe scheduler plan 2026-07-21 11:13:39 +02:00
schalli 761077814f docs(10-03): complete DÖE source adapter & normalizer plan 2026-07-21 11:01:50 +02:00
schalli f80d491adc docs(10-02): complete Ausschreibungs-Radar marketplace registration plan 2026-07-21 10:46:30 +02:00
schalli 6cfda90960 docs(10-01): complete tender-radar foundation plan 2026-07-21 10:40:15 +02:00
schalli b33213b04b docs(10): begin phase execution
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 10:24:28 +02:00
schalli 66efd08dc0 docs(10): mark phase planned (6 plans) + add pattern map
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 10:10:41 +02:00
schalli fe55e7c054 docs(state): record phase 10 context session 2026-07-17 13:49:36 +02:00
schalli eb3ed949a9 docs: create milestone v1.1 roadmap (5 phases) 2026-07-17 12:54:48 +02:00
schalli ae841205df docs: start milestone v1.1 Ausschreibungs-Radar
Tessera CI/CD / Lint & Type Check (push) Successful in 48s
Tessera CI/CD / Tests (push) Successful in 40s
Tessera CI/CD / Build & Publish Images (push) Successful in 2m50s
2026-07-17 09:58:09 +02:00
schalli 9553e5304d chore(planning): mark LDAP exclude filter done, catch up STATE.md
Tessera CI/CD / Lint & Type Check (push) Successful in 43s
Tessera CI/CD / Tests (push) Successful in 46s
Tessera CI/CD / Build & Publish Images (push) Successful in 6s
Record the per-user exclude/denylist filter (9d1323f) and its live
verification as complete, close out the two other carried-over items
(full-sync verify, quick-tasks bookkeeping), and backfill the STATE.md
Quick Tasks table with the direct-fix commits that never got /gsd-quick
entries.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 13:48:26 +02:00
schalli 2ad875b2cd docs(quick-260708-cuc): FavoriteLink migration fix — deployed and verified live
Tessera CI/CD / Lint & Type Check (push) Successful in 47s
Tessera CI/CD / Tests (push) Successful in 39s
Tessera CI/CD / Build & Publish Images (push) Successful in 7s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 09:22:41 +02:00