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
37a4042e53
docs(12): add VALIDATION.md, resolve RESEARCH open questions
2026-07-22 08:58:35 +02:00
schalli
09993b001c
docs(12): create phase plan (4 vertical slices, waves 1-3)
2026-07-22 08:52:05 +02:00
schalli
08b507ce8d
docs(12): phase research — notifiedAt dedup, delta-only matching, global digest cron
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 08:42:21 +02:00
schalli
9ac1142fcd
docs(12): phase context — digest/instant alerts, matched-vs-notified, tenant SMTP
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 08:33:10 +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
ca712f65a7
docs(11): phase verification — 5/5 criteria verified, 293 tests green, UAT pending rebuild
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 16:59:15 +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
d7b8e9bf5f
docs(11): revise phase plan per checker BLOCK — VALIDATION.md, FILTER-04 date range, serialized deps
...
- Add 11-VALIDATION.md (Nyquist Dimension 8: per-task test map, sampling, Wave-0 gaps)
- Implement FILTER-04 deadlineFrom/deadlineTo (DTO + builder branch + FilterPanel) in 11-01
- Serialize depends_on into a linear chain (11-04<-03, 11-05<-04, 11-06<-05) to prevent parallel shared-file/migration corruption
- Mark 11-RESEARCH Open Questions RESOLVED
- Fix 11-05 Task 2 <files> dto/ path typo
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 15:26:18 +02:00
schalli
4036991acd
docs(11): create phase plan — 6 vertical-slice plans (filter engine, results UI, saved searches)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 15:17:48 +02:00
schalli
930a8d8f79
docs(11): phase research — live-DB findings, query patterns, new models
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 15:07:41 +02:00
schalli
a4a661f829
docs(11): phase context from user requirements — filters, triage, saved searches
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 14:57:09 +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
eb10bd3116
wip: pause phase 10 (code complete, UAT+rebuild pending)
2026-07-21 11:36:31 +02:00
schalli
a3cef389df
docs(10): phase verification — 5/5 must-haves verified, UAT pending docker rebuild
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 11:34:07 +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
b52a0a796b
docs(10): add admin config UI plan (INGEST-06 gap), resolve research open questions
2026-07-21 10:08:40 +02:00
schalli
e7b59d16af
docs(10): create phase plan (5 plans, DÖE ingestion foundation)
2026-07-21 10:03:19 +02:00
schalli
1a6061bc0e
docs(phase-10): add validation strategy
2026-07-21 09:47:16 +02:00
schalli
3a51d9bfed
docs(10): research DÖE OpenData API live verification and phase domain
2026-07-21 09:46:20 +02:00
schalli
fe55e7c054
docs(state): record phase 10 context session
2026-07-17 13:49:36 +02:00
schalli
b482c4aaa7
docs(10): capture phase context
2026-07-17 13:49:35 +02:00
schalli
eb3ed949a9
docs: create milestone v1.1 roadmap (5 phases)
2026-07-17 12:54:48 +02:00
schalli
21cae97ca0
docs: define milestone v1.1 requirements
2026-07-17 10:44:58 +02:00
schalli
d2ac1997d6
docs: complete project research
...
Ausschreibungs-Radar (v1.1) STACK/FEATURES/ARCHITECTURE/PITFALLS research plus SUMMARY.md synthesis.
2026-07-17 10:12:59 +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
ef3e41769e
wip: session paused — LDAP live-testing in progress
...
Tessera CI/CD / Lint & Type Check (push) Successful in 45s
Tessera CI/CD / Tests (push) Successful in 42s
Tessera CI/CD / Build & Publish Images (push) Successful in 7s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-09 16:38:14 +02:00
schalli
010aceb1ac
feat(ldap): support anonymous bind (no bind DN/password required)
...
Tessera CI/CD / Lint & Type Check (push) Successful in 41s
Tessera CI/CD / Tests (push) Successful in 39s
Tessera CI/CD / Build & Publish Images (push) Successful in 1m40s
bindDn and bindPassword are now optional on LdapConfig (nullable
migration) and throughout the DTOs/service/client -- an admin can
leave both blank to connect to directories that permit anonymous
read access. LdapService.bind() falls back to an RFC 4513 anonymous
bind (empty DN + empty password) whenever either field is missing,
shared across testConnection, listGroups, and syncUsersForTenant.
Frontend: removed the required attribute from Bind-DN/Bind-Passwort,
added a placeholder hint ("leer = anonymous bind"), and the
"Verbindung testen" button now only needs a Server-URL to enable
(not bindDn+bindPassword). Config responses now return bindPassword
as null (not a misleading "********") when no password is set.
Verified locally: submitted only a Server-URL with both bind fields
empty and confirmed the request reached the anonymous-bind code path
(DNS failure for the unreachable test host, not a validation error).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-08 12:57: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
schalli
60df92b23d
docs(quick-260707-lgh): Favoriten-Widget Icon-Proxy fuer CORP-Seiten
...
Tessera CI/CD / Lint & Type Check (push) Successful in 42s
Tessera CI/CD / Tests (push) Successful in 42s
Tessera CI/CD / Build & Publish Images (push) Successful in 1m37s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-07 15:43:10 +02:00
schalli
bcbb94500d
docs(quick-260707-csw): LDAP AD Anbindung: Zugangsdaten aus XWiki vorbefuellen und Import-Filter fuer Benutzer/Gruppen
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-07 09:59:21 +02:00
schalli
a7ee2a3378
docs(260707-csw): pre-dispatch plan for LDAP AD config + import filter
2026-07-07 09:20:31 +02:00
schalli
d458c2eec7
docs(roadmap): fix stale progress table for phases 1-6
...
Phases 1, 3, 4, 6 were fully executed (all plans have SUMMARY files)
but the roadmap still showed them as In Progress/Not started. Phase 2
is the actual gap: plan 02-05 (visual verification checkpoint) was
never run.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-07 08:11:52 +02:00